dc.contributor.author |
Christakis, M |
en |
dc.contributor.author |
Sagonas, K |
en |
dc.date.accessioned |
2014-03-01T02:47:20Z |
|
dc.date.available |
2014-03-01T02:47:20Z |
|
dc.date.issued |
2011 |
en |
dc.identifier.issn |
03029743 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/33080 |
|
dc.subject |
Concurrent Programs |
en |
dc.subject |
Dynamical Processes |
en |
dc.subject |
interprocess communication |
en |
dc.subject |
Message Passing |
en |
dc.subject |
Static Analysis |
en |
dc.subject |
Long Period |
en |
dc.subject.other |
Close approximation |
en |
dc.subject.other |
Concurrent programming |
en |
dc.subject.other |
Dynamic process |
en |
dc.subject.other |
Erlang programs |
en |
dc.subject.other |
False alarms |
en |
dc.subject.other |
Interprocess communication |
en |
dc.subject.other |
Software defects |
en |
dc.subject.other |
Soundness and completeness |
en |
dc.subject.other |
Errors |
en |
dc.subject.other |
Message passing |
en |
dc.subject.other |
Static analysis |
en |
dc.title |
Detection of asynchronous message passing errors using static analysis |
en |
heal.type |
conferenceItem |
en |
heal.identifier.primary |
10.1007/978-3-642-18378-2_3 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1007/978-3-642-18378-2_3 |
en |
heal.publicationDate |
2011 |
en |
heal.abstract |
Concurrent programming is hard and prone to subtle errors. In this paper we present a static analysis that is able to detect some commonly occurring kinds of message passing errors in languages with dynamic process creation and communication based on asynchronous message passing. Our analysis is completely automatic, fast, and strikes a proper balance between soundness and completeness: it is effective in detecting errors and avoids false alarms by computing a close approximation of the interprocess communication topology of programs. We have integrated our analysis in dialyzer, a widely used tool for detecting software defects in Erlang programs, and demonstrate its effectiveness on libraries and applications of considerable size. Despite the fact that these applications have been developed over a long period of time and are reasonably well-tested, our analysis has managed to detect a significant number of previously unknown message passing errors in their code. © 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-18378-2_3 |
en |
dc.identifier.volume |
6539 LNCS |
en |
dc.identifier.spage |
5 |
en |
dc.identifier.epage |
18 |
en |