Sip4J: Statically Inferring Access Permission Contracts for Parallelising Sequential Java Programs
Autor: | Ayesha Sadiq, Li Li, Ijaz Ahmed, Yuan-Fang Li, Sea Ling |
---|---|
Rok vydání: | 2019 |
Předmět: |
Dependency (UML)
Java Programming language Computer science Concurrency 020207 software engineering 02 engineering and technology Static analysis Design by contract Permission computer.software_genre Scalability 0202 electrical engineering electronic engineering information engineering Code (cryptography) computer computer.programming_language |
Zdroj: | ASE |
DOI: | 10.1109/ase.2019.00111 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |