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

2 Citations (Scopus)


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 and a demo video on of
Sip4J can be found at
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
Number of pages4
ISBN (Electronic)9781728125084
ISBN (Print)9781728125091
Publication statusPublished - 2019
EventAutomated Software Engineering Conference 2019 - San Diego, United States of America
Duration: 10 Nov 201915 Nov 2019
Conference number: 34th (Conference website) (Proceedings)


ConferenceAutomated Software Engineering Conference 2019
Abbreviated titleASE 2019
Country/TerritoryUnited States of America
CitySan Diego
Internet address


  • Access permissions
  • Concurrency
  • Permission inference
  • Static analysis

Cite this