Verification of Habanero Java Programs using Computation Graphs
Pages 1 - 4
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
JPF verification of habanero Java programs
Habanero Java (HJ), a mid-level concurrent language, provides several correctness advantages if it is data race free: deadlock freedom, determinism, serialization, etc. An HJ program execution can only demonstrate data race freedom for one scheduling ...
Comments
Information & Contributors
Information
Published In

Copyright © 2015 Authors.
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
- 0Total Citations
- 71Total 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
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in