HEAL DSpace

Typed callbacks for more robust behaviours

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Aronis, S en
dc.contributor.author Sagonas, K en
dc.date.accessioned 2014-03-01T02:53:31Z
dc.date.available 2014-03-01T02:53:31Z
dc.date.issued 2011 en
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/36375
dc.subject abstract classes en
dc.subject behaviours en
dc.subject erlang en
dc.subject.other Abstract class en
dc.subject.other Abstraction layer en
dc.subject.other behaviours en
dc.subject.other Design Patterns en
dc.subject.other erlang en
dc.subject.other Formal definition en
dc.subject.other Function specification en
dc.subject.other Functional characteristics en
dc.subject.other Abstracting en
dc.subject.other Computer programming languages en
dc.subject.other Functional programming en
dc.subject.other Program compilers en
dc.subject.other Static analysis en
dc.title Typed callbacks for more robust behaviours en
heal.type conferenceItem en
heal.identifier.primary 10.1145/2034654.2034660 en
heal.identifier.secondary http://dx.doi.org/10.1145/2034654.2034660 en
heal.publicationDate 2011 en
heal.abstract Behaviours are one of the most widely used features of Erlang/OTP. They offer a convenient and well-tested abstraction layer for frequently employed design patterns in concurrent Erlang programming. In effect, they allow programmers to focus on the functional characteristics of their applications without having to resort to Erlang's concurrency-supporting primitives. However, when it comes to ensuring that behaviours are properly used and callbacks are as expected, the current Erlang/OTP compiler performs only minimal checks. This is no fault of the compiler though, because most/all of the callbacks' API exists only in the documentation or the comments accompanying the code; as such, it cannot always be trusted and it is almost impossible to have it mechanically processed. In this paper, we propose a small extension to the language of function specifications of Erlang to allow the formal definition of the behaviours' callback API. We have implemented this extension on the development branch of Erlang/OTP and provide evidence of how it can be leveraged by static analysis tools such as Dialyzer to detect behaviour misuses. © 2011 ACM. en
heal.journalName Erlang'11 - Proceedings of the 2011 ACM SIGPLAN Erlang Workshop en
dc.identifier.doi 10.1145/2034654.2034660 en
dc.identifier.spage 23 en
dc.identifier.epage 29 en


Αρχεία σε αυτό το τεκμήριο

Αρχεία Μέγεθος Μορφότυπο Προβολή

Δεν υπάρχουν αρχεία που σχετίζονται με αυτό το τεκμήριο.

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής