Abstract
This paper presents Sip4J, a fully automated, scalable and effective tool to automatically generate access permission contracts for a sequential Java program. The access permission contracts, which represent the dependency of code blocks, have been frequently used to enable concurrent execution of sequential programs. Those permission contracts, unfortunately, need to be manually created by programmers, which is known to be time-consuming, laborious and error-prone. To mitigate those manual efforts, Sip4J performs inter-procedural static analysis of Java source code to automatically extract the implicit dependencies in the program and subsequently leverages them to automatically generate access permission contracts, following the Design by Contract principle. The inferred specifications are then used to identify the concurrent (immutable) methods in the program. Experimental results further show that Sip4J is useful and effective towards generating access permission contracts for sequential Java programs. The implementation of Sip4J has been published as an open-sourced project at https://github.com/Sip4J/Sip4J and a demo video of Sip4J can be found at https://youtu.be/RjMTIxlhHTg.
| Original language | Undefined/Unknown |
|---|---|
| Title of host publication | 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) |
| Publisher | IEEE Computer Society |
| Pages | 1098–1101 |
| ISBN (Electronic) | 9781728125084 |
| ISBN (Print) | 9781728125091 |
| DOIs | |
| Publication status | Published - 9 Jan 2020 |
| Externally published | Yes |
| Event | 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) - San Diego, United States Duration: 11 Nov 2019 → 15 Nov 2019 |
Conference
| Conference | 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) |
|---|---|
| Country/Territory | United States |
| City | San Diego |
| Period | 11/11/19 → 15/11/19 |