skip to main content
research-article

Vector-clock based partial order reduction for JPF

Published: 11 February 2014 Publication History

Abstract

Java Pathfinder (JPF) employs a dynamic partial order reduction based on sharing and state hashing to reduce the schedules in concurrent systems. That partial order reduction is believed to be complete in the new version of JPF using search global IDs (SGOIDs) but does miss behaviors when SGOIDs are not employed. More importantly, it is not clear how such a dynamic partial order reduction, with or without SGOIDs, compares to other dynamic partial order reductions based on persistent sets, sleep sets, or clock vectors. In order to understand JPF's native dynamic partial order reduction better, this paper discusses an implementation of Flanagan and Goidefroid's clock vector partial order reduction in JPF. Then, the performance of JPF's native dynamic partial order reduction and the clock vector partial order reduction in JPF using SGOIDs will be compared in an effort to understand JPF's dynamic partial order reduction more fully. It was discovered that a clock vector POR always performs better in terms of runtime on the benchmarks chosen, and sometimes even better in terms of memory.

References

[1]
J. Esparza and K. Heljanko. Implementing LTL Model Checking with Net Unfoldings. In M. B. Dwyer, editor, SPIN, volume 2057 of Lecture Notes in Computer Science, pages 37--56. Springer, 2001.
[2]
C. Flanagan and P. Godefroid. Dynamic Partial-order Reduction for Model Checking Software. In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 110--121, New York, NY, USA, 2005. ACM.
[3]
P. Godefroid. Partial-Order Methods for the Verification of Concurrent Systems - An Approach to the State-Explosion Problem, volume 1032 of Lecture Notes in Computer Science. Springer, 1996.
[4]
R. P. Kurshan, V. Levin, M. Minea, D. Peled, and H. Yenigün. Static Partial Order Reduction. In B. Steffen, editor, TACAS, volume 1384 of Lecture Notes in Computer Science, pages 345--357. Springer, 1998.
[5]
N. Rungta and E. G. Mercer. Hardness for Explicit State Software Model Checking Benchmarks. In SEFM, pages 247--256. IEEE Computer Society, 2007.

Cited By

View all
  • (2023)Achieving High MAP-Coverage Through Pattern Constraint ReductionIEEE Transactions on Software Engineering10.1109/TSE.2022.314448049:1(99-112)Online publication date: 1-Jan-2023
  • (2022)Stateful Dynamic Partial Order Reduction for Model Checking Event-Driven Applications that Do Not TerminateVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-94583-1_20(400-424)Online publication date: 16-Jan-2022
  • (2021)HARS: Heuristic-Enhanced Adaptive Randomized Scheduling for Concurrency Testing2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00033(219-230)Online publication date: Dec-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 39, Issue 1
January 2014
193 pages
ISSN:0163-5948
DOI:10.1145/2557833
  • Editor:
  • Will Tracz
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 February 2014
Published in SIGSOFT Volume 39, Issue 1

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Achieving High MAP-Coverage Through Pattern Constraint ReductionIEEE Transactions on Software Engineering10.1109/TSE.2022.314448049:1(99-112)Online publication date: 1-Jan-2023
  • (2022)Stateful Dynamic Partial Order Reduction for Model Checking Event-Driven Applications that Do Not TerminateVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-94583-1_20(400-424)Online publication date: 16-Jan-2022
  • (2021)HARS: Heuristic-Enhanced Adaptive Randomized Scheduling for Concurrency Testing2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00033(219-230)Online publication date: Dec-2021
  • (2019)Proving Data Race Freedom in Task Parallel Programs Using a Weaker Partial Order2019 Formal Methods in Computer Aided Design (FMCAD)10.23919/FMCAD.2019.8894270(55-63)Online publication date: Oct-2019
  • (2019)A Sound Dynamic Partial Order Reduction Engine for Java PathfinderACM SIGSOFT Software Engineering Notes10.1145/3364452.336445744:4(15-19)Online publication date: 12-Dec-2019
  • (2019)Adaptive Randomized Scheduling for Concurrency Bug Detection2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)10.1109/ICECCS.2019.00021(124-133)Online publication date: Nov-2019
  • (2016)Hybrid Analysis for Partial Order Reduction of Programs with ArraysProceedings of the 17th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 958310.1007/978-3-662-49122-5_14(291-310)Online publication date: 17-Jan-2016

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