Sip4J: statically inferring access permission contracts for parallelising sequential Java programs

Ayesha Sadiq, Li Li, Yuan-Fang Li, Ijaz Ahmed, Chris Ling

Research output: Chapter in Book/Report/Conference proceedingConference PaperOtherpeer-review

Abstract

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 timeconsuming, 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 at https://github.com/Sip4J/Sip4J and a demo video on of
Sip4J can be found at https://youtu.be/RjMTIxlhHTg.
Original languageEnglish
Title of host publicationProceedings - 2019 34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019
EditorsJulia Lawall, Darko Marinov
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages1098-1101
Number of pages4
ISBN (Electronic)9781728125084
ISBN (Print)9781728125091
DOIs
Publication statusPublished - 2019
EventAutomated Software Engineering 2019 - San Diego, United States of America
Duration: 10 Nov 201915 Nov 2019
Conference number: 34th
https://2019.ase-conferences.org/

Conference

ConferenceAutomated Software Engineering 2019
Abbreviated titleASE 2019
CountryUnited States of America
CitySan Diego
Period10/11/1915/11/19
Internet address

Keywords

  • Access permissions
  • Concurrency
  • Permission inference
  • Static analysis

Cite this

Sadiq, A., Li, L., Li, Y-F., Ahmed, I., & Ling, C. (2019). Sip4J: statically inferring access permission contracts for parallelising sequential Java programs. In J. Lawall, & D. Marinov (Eds.), Proceedings - 2019 34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019 (pp. 1098-1101). [8952453] IEEE, Institute of Electrical and Electronics Engineers. https://doi.org/10.1109/ASE.2019.00111