Extracting Permission-Based Specifications from a Sequential Java Program

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

3 Citations (Scopus)

Abstract

It is expected that muti-core systems will become the dominant computing platform in the next few years. However, the current programming models (such as Java, .Net etc.) do not scale well to exploit the computing power of such multi-core systems. In primitive programming paradigms there exist implicit dependencies between code and program states, and compilers cannot exploit the potential concurrency present in the program unless the programmer introduces concurrency manually using multi-threading, which is prone to errors such as race conditions and deadlocks. The goal of this research is to help programmers achieve concurrency without mastering the intricacies of this domain. We propose a formal technique and a high-level algorithm to extract implicit dependencies from a sequential Java program in the form of access permission rights. The proposed technique performs static analysis of the source code on a modular basis. The inferred permissions can potentially be used by runtime engines such as Java Virtual Machine (JVM) to automatically parallelize sequential programs on multi-core systems and to reason about concurrency
Original languageUndefined/Unknown
Title of host publication2016 21st International Conference on Engineering of Complex Computer Systems (ICECCS)
PublisherIEEE Computer Society
Pages215–218
ISBN (Electronic)9781509055272
ISBN (Print)9781509055265
DOIs
Publication statusPublished - 1 Nov 2016
Externally publishedYes

Cite this