dc.contributor.author |
Pitidis, M |
en |
dc.contributor.author |
Sagonas, K |
en |
dc.date.accessioned |
2014-03-01T02:53:26Z |
|
dc.date.available |
2014-03-01T02:53:26Z |
|
dc.date.issued |
2011 |
en |
dc.identifier.issn |
03029743 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/36318 |
|
dc.subject.other |
Execution environments |
en |
dc.subject.other |
Parameterized |
en |
dc.subject.other |
Side effect |
en |
dc.subject.other |
Static analysis |
en |
dc.title |
Purity in Erlang |
en |
heal.type |
conferenceItem |
en |
heal.identifier.primary |
10.1007/978-3-642-24276-2_9 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1007/978-3-642-24276-2_9 |
en |
heal.publicationDate |
2011 |
en |
heal.abstract |
Motivated by a concrete goal, namely to extend Erlang with the ability to employ user-defined guards, we developed a parameterized static analysis tool called Purity, that classifies functions as referentially transparent (i.e., side-effect free with no dependency on the execution environment and never raising an exception), side-effect free with no dependencies but possibly raising exceptions, or side-effect free but with possible dependencies and possibly raising exceptions. We have applied Purity on a large corpus of Erlang code bases and report experimental results showing the percentage of functions that the analysis definitely classifies in each category. Moreover, we discuss how our analysis has been incorporated on a development branch of the Erlang/OTP compiler in order to allow extending the language with user-defined guards. © 2011 Springer-Verlag. |
en |
heal.journalName |
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
en |
dc.identifier.doi |
10.1007/978-3-642-24276-2_9 |
en |
dc.identifier.volume |
6647 LNCS |
en |
dc.identifier.spage |
137 |
en |
dc.identifier.epage |
152 |
en |