Quentin Stiévenart, Jens Nicolay, W. Meuter, Coen De Roover
{"title":"Mailbox Abstractions for Static Analysis of Actor Programs","authors":"Quentin Stiévenart, Jens Nicolay, W. Meuter, Coen De Roover","doi":"10.4230/LIPIcs.ECOOP.2017.25","DOIUrl":null,"url":null,"abstract":"Properties such as the absence of errors or bounds on mailbox sizes are hard to deduce statically for actor-based programs. \nThis is because actor-based programs exhibit several sources of unboundedness, in addition to the non-determinism that is inherent to the concurrent execution of actors. \nWe developed a static technique based on abstract interpretation to soundly reason in a finite amount of time about the possible executions of an actor-based program. \nWe use our technique to statically verify the absence of errors in actor-based programs, and to compute upper bounds on the actors' mailboxes. \nSound abstraction of these mailboxes is crucial to the precision of any such technique. \nWe provide several mailbox abstractions and categorize them according to the extent to which they preserve message ordering and multiplicity of messages in a mailbox. \nWe formally prove the soundness of each mailbox abstraction, and empirically evaluate their precision and performance trade-offs on a corpus of benchmark programs. \nThe results show that our technique can statically verify the absence of errors for more benchmark programs than the state-of-the-art analysis.","PeriodicalId":172012,"journal":{"name":"European Conference on Object-Oriented Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"European Conference on Object-Oriented Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4230/LIPIcs.ECOOP.2017.25","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11
Abstract
Properties such as the absence of errors or bounds on mailbox sizes are hard to deduce statically for actor-based programs.
This is because actor-based programs exhibit several sources of unboundedness, in addition to the non-determinism that is inherent to the concurrent execution of actors.
We developed a static technique based on abstract interpretation to soundly reason in a finite amount of time about the possible executions of an actor-based program.
We use our technique to statically verify the absence of errors in actor-based programs, and to compute upper bounds on the actors' mailboxes.
Sound abstraction of these mailboxes is crucial to the precision of any such technique.
We provide several mailbox abstractions and categorize them according to the extent to which they preserve message ordering and multiplicity of messages in a mailbox.
We formally prove the soundness of each mailbox abstraction, and empirically evaluate their precision and performance trade-offs on a corpus of benchmark programs.
The results show that our technique can statically verify the absence of errors for more benchmark programs than the state-of-the-art analysis.