Fault Localization of Concurrent Programs

General Fault Localization | Fault Localization of Concurrent Programs | Benchmarks | Research Groups | Software Tools

    Research Papers: General Fault Localization

  1. B. Liblit, M. Naik, A.X. Zheng, A. Aiken, and M.I. Jordan. Scalable statistical bug isolation. Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation (PLDI '05), pp. 15-26, 2005.

  2. R. Abreu, P. Zoeteweij, and A.J.C. van Gemund. On the accuracy of spectrum-based fault localization. Proceedings Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION, 2007. TAICPART-MUTATION 2007, pp.89-98, 10-14 Sept. 2007.

  3. J.A. Jones, and M.J. Harrold. Empirical evaluation of the tarantula automatic fault-localization technique. Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering (ASE '05), pp. 273-282, 2005.

  4. A. Zeller, and R. Hildebrandt. Simplifying and Isolating Failure-Inducing Input. Proceedings of IEEE Transactions on Software Engineering, pp. 183-200, 2002.

  5. M. Renieris, and S.P. Reiss. Fault Localization with Nearest Neighbor Queries. Proceedings of International Conference on Automated Software Engineering, pp. 30-39, 2003.

  6. H. Agrawal, J.R. Horgan, S. London, and W. Eric Wong. Fault Localization using Execution Slices and Dataflow Tests. Proceedings of the IEEE International Symposium on Software Reliability Engineering, October 1995.

  7. H. Agrawal, and J.R. Horgan. Dynamic program slicing. Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation (PLDI '90), pp. 246-256, 1990.

  8. R.A. DeMillo, H. Pan, and E.H. Spafford. Critical Slicing for Software Fault Localization. Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA '96), pp. 121-134, Jan. 1996.

  9. H. Cleve, and A. Zeller. Locating Causes of Program Failures. Proceedings of the 27th IEEE/ACM International Conference on Software Engineering (ICSE '05), pp. 342-351, May 2005.

  10. C. Liu, X. Yan, and L. Fei. SOBER: Statistical Model-based Bug Localization. Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE'05), pp. 286-295, Sept. 2005.

  11. O.C. Chesley, X. Ren, B.G. Ryder, and Frank Tip. Crisp - A Fault Localization Tool for Java Programs. Proceedings of the 29th IEEE/ACM International Conference on Software Engineering (ICSE '07), pp. 775-779, May 2007.

  12. Y. Yu, J.A. Jones, and M.J. Harrold. An Empirical Study of the Effects of Test-Suite Reduction on Fault Localization. Proceedings of the 30th IEEE/ACM International Conference on Software Engineering (ICSE '08), pp. 201-210, May 2008.

  13. D. Jeffrey, N. Gupta, and R. Gupta. Fault Localization Using Value Replacement. Proceedings of the ACM International Symposium on Software Testing and Analysis (ISSTA '08), pp. 167-177, Jul. 2008.

  14. R. Abreu, P. Zoeteweij, and A.J.C.V. Gemund. An Observation-based Model for Fault Localization. Proceedings of the International Workshop on Dynamic Analysis (WODA’08), pp. 64–70, Jul. 2008.

  15. W. Mayer, and M. Stumptner. Evaluating Models for Model-Based Debugging. Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08), pp. 128-137, Sept. 2008.

  16. Z. Zhang, W.K. Chan, and T.H. Tse. Capturing Propagation of Infected Program States. Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC 2009/FSE-17), pp. 347-351, Aug. 2009.

  17. T. Janssen, R. Abreu, and A. J.C. v. Gemund. Zoltar: A Toolset for Automatic Fault Localization. Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE '09), pp. 662-664, Nov. 2009.



    Research Papers: Fault Localization of Concurrent Programs

  1. J. Choi, and A. Zeller. Isolating Failure-Inducing Thread Schedules. Proceedings of ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, pp. 210-220, Jul. 2002.

  2. S. Park, R. Vuduc, and M. Harrold. A Unified Approach for Localizing non-deadlock Concurrency Bugs.

  3. S. Lu, J. Tucek, F. Qin, and Y. Zhou. AVIO: Detecting Atomicity Violations via Access Interleaving Invariants. Proceedings of ISSTA '02 Proceedings of the the 12th international conference on Architectural support for programming languages and operating systems, pp. 37-48, Dec. 2006.

  4. S. Park, S. Lu, and Y. Zhou. CTrigger: Exposing Atomicity Violation Bugs from Their Hiding Places. Proceedings of ISSTA '02 Proceedings of the 14th international conference on Architectural support for programming languages and operating systems, pp. 25-36, Mar. 2009.

  5. S. Park, R. Vuduc, and M. Harrold. Falcon: Fault Localization in Concurrent Programs. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, pp. 245-254, 2010.

  6. C. Hammer, J. Dolby, M. Vaziri, and F. Tip. Dynamic detection of atomic-set-serializability violations. Proceedings of the ICSE '08. ACM/IEEE 30th International Conference, pp. 231-240, May. 2008.

  7. Z. Lai, S. Cheung, and W. Chan. Detecting atomic-set serializability violations in multithreaded programs through active randomized testing. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, pp. 235-244, 2010.

  8. M. Vaziri, F. Tip, and J. Dolby. Associating synchronization constraints with data in an object-oriented language. Proceedings of the Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 334-345, 2006.

  9. N. Jalbert, K. Sen. a trace simplification technique for effective debugging of concurrent programs. Proceedings of the FSE '10 Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, pp. 57-66, 2010.

  10. S. Narayanasamy, Z. Wang, and J. Tigani. Automatically classifying benign and harmful data races using replay analysis. Proceedings of the PLDI '07 Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, pp. 22-31, 2007.

  11. Y. Shi, S. Park, Z. Yin, and S. Lu. Do I use the wrong definition DeFuse definition-use invariants for detecting concurrency and sequential bugs. Proceedings of the OOPSLA '10 Proceedings of the ACM international conference on Object oriented programming systems languages and applications, pp. 160-174, 2010.

  12. M. Musuvathi, and S. Qadeer. Iterative context bounding for systematic testing of multithreaded programs. Proceedings of the PLDI '07 Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, pp. 446-455, 2007.

  13. J. Huang, P. Liu, and C. Zhang. LEAP lightweight deterministic multi-processor replay of concurrent java programs. Proceedings of the FSE '10 Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, pp. 207-216, 2010.

  14. K. Sen. Race Directed Random Testing of Concurrent Programs. Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation (PLDI '08), pp. 11-21, 2008.

  15. T. Ball, K. Coons, and M. Musuvathi. Preemption Sealing for Efficient Concurrency Testing. Proceedings of the TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 420-434, 2010.

  16. M. Musuvathi, S. Qadeer, and T. Ball. CHESS: A Systematic Testing Tool for Concurrentg. Microsoft Research



    Benchmarks:

  1. IBM Benchmarks            

  2. CallFuzzer Benchmarks            

  3. Software-artifact Infrastructure Repository            

  4. Apache HTTP server            

  5. MySQL DB server            

  6. Mozilla            

  7. SPLASH-2            



    Research Groups:

  1. Cooperative Bug Isolation Group            Computer Sciences Department, University of Wisconsin Madison, USA

  2. Delta Debugging Group                          Computer Science Department, Saarland University, Germany

  3. Zoltar                                                     Software Technology Department, Delft University of Technology, Netherlands

  4. Tarantula Group                                     College of Computing, Georgia Institute of Technology, USA



    Software Tools

Tools Platform Property Title Description
Falcon N/AN/A Georgia Institute of Technology Falcon can pinpoint faulty data-access patterns in multi-threaded concurrent programs. The technique monitors memory-access sequences among threads, detects data-access patterns associated with a program pass/fail results, and reports data access patterns with suspiciousness scores.So far, Falcon is not available for downloading.
Cooperative Bug Isolation Linux Free University of Wisconsin Madisontd> Cooperative Bug Isolation (CBI) improves software quality based on a feedback-directed approach. First, developers instrument target programs. Second, the general public use statistical methods to mine returned data for information about the root causes of failure.
Crisp Eclipse plugin N/A Rutgers Univeristy Crisp allows for constructing intermediate versions of a Java program to locate faults. After revisions, if a regression test fails, Crisp allows the programmer to located faults by running this test on intermediate versions of this Java program.So far, Crisp is not available for downloading.
Delta Debugging Linux Free Saarland University Delta Debugging isolates the relevant variables by systematically narrowing the state difference between a passing run and a failing run. Delta Debugging alters executions and check the outcome of the altered executions to determine what valas cause faults.
Sober Linux Free University of Illinois at Urbana-Champaign SOBER can automatically localize the underlying software faults based on a statistical method. SOBER models the predicate evaluation in both correct and incorrect executions and detects faults by verifying whether its evaluation pattern in incorrect executions significantly diverges from that in correct ones.
Tarantula N/A N/A Georgia Institute of Technology Tarantula helps people locate faults in their programs by showing what portions of the code are executed by passed and failed tests. First, Tarantula instruments target programs. Second, Tarantula collects statement coverage information during running test cases. Tarantula displays each source code statement using color models that reflect its relative success rate of its execution by the test suite. So far, Tarantula is not available for downloading.
Zoltar Linux Free Delft University of Technology Zoltar is a spectrum-based fault localization tool. It can detect various errors automatically by instrumenting the program under analysis with fault screeners.