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

Con2colic testing

Published: 18 August 2013 Publication 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.
[2]
F. Chen, T. Serbanuta, and G. Ro¸su. JPredictor: A Predictive Runtime Analysis Tool for Java. In ICSE, pages 221–230, 2008.
[3]
M. Emmi, S. Qadeer, and Z. Rakamari´c. Delay-Bunded Scheduling. SIGPLAN Not., 46(1):411–422, 2011.
[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.
[5]
P. Godefroid. Model Checking for Programming Languages Using VeriSoft. In POPL, pages 174–186, New York, NY, USA, 1997. ACM.
[6]
P. Godefroid, N. Klarlund, and K. Sen. DART: Directed Automated Random Testing. In PLDI, pages 213–223, 2005.
[7]
P. Godefroid, M. Y. Levin, and D. A. Molnar. Active Property Checking. In EMSOFT, pages 207–216, 2008.
[8]
A. Lal and T. Reps. Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis. Form. Methods Syst. Des., 35:73–97, 2009.
[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.
[10]
M. Musuvathi and S. Qadeer. Iterative Context Bounding for Systematic Testing of Multithreaded Programs. SIGPLAN Not., 42(6):446–455, 2007.
[11]
M. Musuvathi, S. Qadeer, and T. Ball. CHESS: A Systematic Testing Tool for Concurrent Software, 2007.
[12]
S. Park, S. Lu, and Y. Zhou. Ctrigger: Exposing Atomicity Violation Bugs from Their Hiding Places. In ASPLOS, pages 25–36, 2009.
[13]
S. Qadeer. Poirot: A Concurrency Sleuth. In ICFEM, pages 15–15, 2011.
[14]
S. Qadeer and J. Rehof. Context-Bounded Model Checking of Concurrent Software. In In TACAS, pages 93–107. Springer, 2005.
[15]
S. Qadeer and D. Wu. KISS: Keep It Simple and Sequential. SIGPLAN Not., pages 14–24, 2004.
[16]
Z. Rakamari´c. STORM: Static Unit Checking of Concurrent Programs. In ICSE, pages 519–520, 2010.
[17]
N. Razavi, F. Ivancic, V. Kahlon, and A. Gupta. Concurrent Test Generation Using Concolic Multi-Trace Analysis. In APLAS, 2012.
[18]
K. Sen. Scalable Automated Methods for Dynamic Program Analysis. PhD thesis, University of Illinois at Urbana-Champaign, 2006.
[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.
[20]
N. Sinha and C. Wang. Staged Concurrent Program Analysis. In FSE, FSE’10, pages 47–56, 2010.
[21]
N. Sinha and C. Wang. On Interference Abstractions. In POPL, pages 423–434, 2011.
[22]
F. Sorrentino, A. Farzan, and P. Madhusudan. PENELOPE: Weaving Threads to Expose Atomicity Violations. In FSE, pages 37–46, 2010.
[23]
S. Torre, P. Madhusudan, and G. Parlato. Reducing Context-Bounded Concurrent Reachability to Sequential Reachability. In CAV, pages 477–492, 2009.
[24]
C. Wang, S. Kundu, M. Ganai, and A. Gupta. Symbolic Predictive Analysis for Concurrent Programs. In FM, pages 256–272. Springer, 2009.
[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.

Cited By

View all
  • (2023)Psym: Efficient Symbolic Exploration of Distributed SystemsProceedings of the ACM on Programming Languages10.1145/35912477:PLDI(660-685)Online publication date: 6-Jun-2023
  • (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)Automatic Detection, Validation, and Repair of Race Conditions in Interrupt-Driven Embedded SoftwareIEEE Transactions on Software Engineering10.1109/TSE.2020.298917148:1(346-363)Online publication date: 1-Jan-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 August 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Concolic
  2. Concurrency
  3. Interference
  4. Testing

Qualifiers

  • Research-article

Conference

ESEC/FSE'13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Psym: Efficient Symbolic Exploration of Distributed SystemsProceedings of the ACM on Programming Languages10.1145/35912477:PLDI(660-685)Online publication date: 6-Jun-2023
  • (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)Automatic Detection, Validation, and Repair of Race Conditions in Interrupt-Driven Embedded SoftwareIEEE Transactions on Software Engineering10.1109/TSE.2020.298917148:1(346-363)Online publication date: 1-Jan-2022
  • (2022)Symbolic Execution: Foundations, Techniques, Applications, and Future PerspectivesThe Logic of Software. A Tasting Menu of Formal Methods10.1007/978-3-031-08166-8_22(446-480)Online publication date: 4-Jul-2022
  • (2021)Bounded Verification of Multi-threaded Programs via Lazy SequentializationACM Transactions on Programming Languages and Systems10.1145/347853644:1(1-50)Online publication date: 9-Dec-2021
  • (2021)On interleaving space exploration of multi-threaded programsFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-020-9501-615:4Online publication date: 1-Aug-2021
  • (2021)Sound and Complete Concolic Testing for Higher-order FunctionsProgramming Languages and Systems10.1007/978-3-030-72019-3_23(635-663)Online publication date: 23-Mar-2021
  • (2021)Statically driven generation of concurrent tests for thread‐safe classesSoftware Testing, Verification and Reliability10.1002/stvr.177431:4Online publication date: 4-May-2021
  • (2020) ConTesa : Directed Test Suite Augmentation for Concurrent Software IEEE Transactions on Software Engineering10.1109/TSE.2018.286139246:4(405-419)Online publication date: 1-Apr-2020
  • (2020)Benchmarking the Capability of Symbolic Execution Tools with Logic BombsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2018.286646917:6(1243-1256)Online publication date: 1-Nov-2020
  • Show More Cited By

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