skip to main content
research-article

Verification of Habanero Java Programs using Computation Graphs

Published: 11 November 2015 Publication History

Abstract

The Habanero Java (HJ) programming model is designed to provide several correctness guarantees such as deadlock freedom and determinism in the absence of data races. Model checking tools like Java Pathfinder (JPF) can be used to detect data races in HJ programs. But, as the program size increases, data race detection becomes expensive because of the state space explosion. We present a new method of data race detection in HJ programs with the help of computation graphs. A computation graph represents the execution of a program in the form of a directed acyclic graph. For structurally deterministic programs, analyzing the graph on a single schedule is enough for data race detection.

References

[1]
P. Anderson, B. Chase, and E. Mercer. JPF Verification of Habanero Java Programs. SIGSOFT Softw. Eng. Notes, 39(1):1--7, Feb. 2014.
[2]
P. Anderson, N. Vrvilo, E. Mercer, and V. Sarkar. JPF Verification of Habanero Java Programs Using Gradual Type Permission Regions. SIGSOFT Softw. Eng. Notes, 40(1):1--5, Feb. 2015.
[3]
V. Cavé, J. Zhao, J. Shirako, and V. Sarkar. Habanero-Java: the new adventures of old X10. In Proceedings of the 9th International Conference on Principles and Practice of Programming in Java, PPPJ '11, pages 51--61, New York, NY, USA, 2011. ACM.
[4]
J.-D. Choi, K. Lee, A. Loginov, R. O'Callahan, V. Sarkar, and M. Sridharan. E_cient and precise datarace detection for multithreaded object-oriented programs. SIGPLAN Not., 37(5):258--269, May 2002.
[5]
D. Engler and K. Ashcraft. RacerX: effective, static detection of race conditions and deadlocks. In ACM SIGOPS Operating Systems Review, volume 37, pages 237--252. ACM, 2003.
[6]
C. Flanagan and S. N. Freund. FastTrack: efficient and precise dynamic race detection. In ACM Sigplan Notices, volume 44, pages 121--133. ACM, 2009.
[7]
M. Gligoric, P. C. Mehlitz, and D. Marinov. X10X: Model checking a new programming language with an "old" model checker. In Software Testing, Verification and Validation (ICST), 2012 IEEE Fifth International Conference on, pages 11--20. IEEE, 2012.
[8]
S. Imam and V. Sarkar. Habanero-Java Library: A Java 8 Framework for Multicore Programming. In Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, PPPJ '14, pages 75--86, New York, NY, USA, 2014. ACM.
[9]
V. Kahlon, N. Sinha, E. Kruus, and Y. Zhang. Static data race detection for concurrent programs with asynchronous calls. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pages 13--22. ACM, 2009.
[10]
V. Kahlon and C. Wang. Universal causality graphs: A precise happens-before model for detecting bugs in concurrent programs. In Computer Aided Veri_cation, pages 434--449. Springer, 2010.
[11]
B. P. Miller and J.-D. Choi. A mechanism for efficient debugging of parallel programs, volume 23. ACM, 1988.
[12]
A. Nistor, D. Marinov, and J. Torrellas. Instantcheck: Checking the determinism of parallel programs using on-the-y incremental hashing. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture, pages 251--262. IEEE Computer Society, 2010.
[13]
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems (TOCS), 15(4):391--411, 1997.
[14]
M. Vechev, E. Yahav, R. Raman, and V. Sarkar. Automatic verification of determinism for structured parallel programs. In Static Analysis, pages 455--471. Springer, 2011.
[15]
T. K. Zirkel, S. F. Siegel, and T. McClory. Automated Verification of Chapel Programs using Model Checking and Symbolic Execution. NASA Formal Methods, 7871:198--212, 2013.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 6
November 2015
77 pages
ISSN:0163-5948
DOI:10.1145/2830719
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 November 2015
Published in SIGSOFT Volume 40, Issue 6

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 71
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media