skip to main content
10.1145/2491411.2491453acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Con2colic testing

Published:18 August 2013Publication History

ABSTRACT

In this paper, we describe (con)2colic testing - a systematic testing approach for concurrent software. Based on concrete and symbolic executions of a concurrent program, (con)2colic testing derives inputs and schedules such that the execution space of the program under investigation is systematically explored. We introduce interference scenarios as key concept in (con)2colic testing. Interference scenarios capture the flow of data among different threads and enable a unified representation of path and interference constraints. We have implemented a (con)2colic testing engine and demonstrate the effectiveness of our approach by experiments.

References

  1. J. Burnim and K. Sen. Heuristics for Scalable Dynamic Test Generation. In ASE, pages 443–446, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. F. Chen, T. Serbanuta, and G. Ro¸su. JPredictor: A Predictive Runtime Analysis Tool for Java. In ICSE, pages 221–230, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Emmi, S. Qadeer, and Z. Rakamari´c. Delay-Bunded Scheduling. SIGPLAN Not., 46(1):411–422, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Farzan, P. Madhusudan, N. Razavi, and F. Sorrentino. Predicting Null-Pointer Dereferences in Concurrent Programs. In FSE, pages 47:1–47:11, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Godefroid. Model Checking for Programming Languages Using VeriSoft. In POPL, pages 174–186, New York, NY, USA, 1997. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Godefroid, N. Klarlund, and K. Sen. DART: Directed Automated Random Testing. In PLDI, pages 213–223, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Godefroid, M. Y. Levin, and D. A. Molnar. Active Property Checking. In EMSOFT, pages 207–216, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Lal and T. Reps. Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis. Form. Methods Syst. Des., 35:73–97, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Lu, Z. Li, F. Qin, L. Tan, P. Zhou, and Y. Zhou. BugBench: Benchmarks for Evaluating Bug Detection Tools. In Workshop on the Evaluation of Software Defect Detection Tools, 2005.Google ScholarGoogle Scholar
  10. M. Musuvathi and S. Qadeer. Iterative Context Bounding for Systematic Testing of Multithreaded Programs. SIGPLAN Not., 42(6):446–455, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Musuvathi, S. Qadeer, and T. Ball. CHESS: A Systematic Testing Tool for Concurrent Software, 2007.Google ScholarGoogle Scholar
  12. S. Park, S. Lu, and Y. Zhou. Ctrigger: Exposing Atomicity Violation Bugs from Their Hiding Places. In ASPLOS, pages 25–36, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Qadeer. Poirot: A Concurrency Sleuth. In ICFEM, pages 15–15, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Qadeer and J. Rehof. Context-Bounded Model Checking of Concurrent Software. In In TACAS, pages 93–107. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Qadeer and D. Wu. KISS: Keep It Simple and Sequential. SIGPLAN Not., pages 14–24, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Z. Rakamari´c. STORM: Static Unit Checking of Concurrent Programs. In ICSE, pages 519–520, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. Razavi, F. Ivancic, V. Kahlon, and A. Gupta. Concurrent Test Generation Using Concolic Multi-Trace Analysis. In APLAS, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  18. K. Sen. Scalable Automated Methods for Dynamic Program Analysis. PhD thesis, University of Illinois at Urbana-Champaign, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Sen and G. Agha. Concolic Testing of Multithreaded Programs and Its Application to Testing Security Protocols. Technical Report UIUCDCS-R-2006-2676, University of Illinois at Urbana Champaign, 2006.Google ScholarGoogle Scholar
  20. N. Sinha and C. Wang. Staged Concurrent Program Analysis. In FSE, FSE’10, pages 47–56, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Sinha and C. Wang. On Interference Abstractions. In POPL, pages 423–434, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. F. Sorrentino, A. Farzan, and P. Madhusudan. PENELOPE: Weaving Threads to Expose Atomicity Violations. In FSE, pages 37–46, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Torre, P. Madhusudan, and G. Parlato. Reducing Context-Bounded Concurrent Reachability to Sequential Reachability. In CAV, pages 477–492, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Wang, S. Kundu, M. Ganai, and A. Gupta. Symbolic Predictive Analysis for Concurrent Programs. In FM, pages 256–272. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. Zhang, J. Lim, R. Olichandran, J. Scherpelz, G. Jin, S. Lu, and T. Reps. ConSeq: Detecting Concurrency Bugs through Sequential Errors. In ASPLOS, pages 251–264, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Con2colic testing

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                ESEC/FSE 2013: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
                August 2013
                738 pages
                ISBN:9781450322379
                DOI:10.1145/2491411

                Copyright © 2013 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 18 August 2013

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate112of543submissions,21%

                Upcoming Conference

                FSE '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader