Coverage-Driven Test Code Generation for Concurrent Classes
Previous techniques on concurrency testing have mainly focused on exploring the interleaving space of manually written test code to expose faulty interleavings of shared memory accesses. These techniques assume the availability of failure-inducing tests. In this paper, we present AutoConTest, a cove...
Saved in:
| Published in: | Proceedings / International Conference on Software Engineering pp. 1121 - 1132 |
|---|---|
| Main Authors: | , |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
ACM
01.05.2016
|
| Subjects: | |
| ISSN: | 1558-1225 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Previous techniques on concurrency testing have mainly focused on exploring the interleaving space of manually written test code to expose faulty interleavings of shared memory accesses. These techniques assume the availability of failure-inducing tests. In this paper, we present AutoConTest, a coverage-driven approach to generate effective concurrent test code that achieve high interleaving coverage. AutoConTest consists of three components. First, it computes the coverage requirements dynamically and iteratively during sequential test code generation, using a coverage metric that captures the execution context of shared memory accesses. Second, it smartly selects these sequential codes based on the computed result and assembles them for concurrent tests, achieving increased context-sensitive interleaving coverage. Third, it explores the newly covered interleavings. We have implemented AutoConTest as an automated tool and evaluated it using 6 real-world concurrent Java subjects. The results show that AutoConTest is able to generate effective concurrent tests that achieve high interleaving coverage and expose concurrency faults quickly. AutoConTest took less than 65 seconds (including program analysis, test generation and execution) to expose the faults in the program subjects. |
|---|---|
| AbstractList | Previous techniques on concurrency testing have mainly focused on exploring the interleaving space of manually written test code to expose faulty interleavings of shared memory accesses. These techniques assume the availability of failure-inducing tests. In this paper, we present AutoConTest, a coverage-driven approach to generate effective concurrent test code that achieve high interleaving coverage. AutoConTest consists of three components. First, it computes the coverage requirements dynamically and iteratively during sequential test code generation, using a coverage metric that captures the execution context of shared memory accesses. Second, it smartly selects these sequential codes based on the computed result and assembles them for concurrent tests, achieving increased context-sensitive interleaving coverage. Third, it explores the newly covered interleavings. We have implemented AutoConTest as an automated tool and evaluated it using 6 real-world concurrent Java subjects. The results show that AutoConTest is able to generate effective concurrent tests that achieve high interleaving coverage and expose concurrency faults quickly. AutoConTest took less than 65 seconds (including program analysis, test generation and execution) to expose the faults in the program subjects. |
| Author | Terragni, Valerio Shing-Chi Cheung |
| Author_xml | – sequence: 1 givenname: Valerio surname: Terragni fullname: Terragni, Valerio email: vterragni@cse.ust.hk organization: Dept. of Comput. Sci. & Eng., Hong Kong Univ. of Sci. & Technol., Hong Kong, China – sequence: 2 surname: Shing-Chi Cheung fullname: Shing-Chi Cheung email: scc@cse.ust.hk organization: Dept. of Comput. Sci. & Eng., Hong Kong Univ. of Sci. & Technol., Hong Kong, China |
| BookMark | eNotjM1Kw0AURkepYFu7duEmL5A6N3f-Lq4kahUK3dR1mUluJFInMhMLvr0RXR3Od-BbiFkcIgtxDXINoPRt5ZyyDta_dNaciRVNqrREJCnhXMxBa1dCVelLscj5XUppFNFc3NXDiZN_4_Ih9SeOxZ7zWNRDy8WG41TGfohFN6Rpi81XShynfPQ5c74SF50_Zl79cylenx739XO53W1e6vtt6Stlx1IxAaJUsvENMkoiozoFrcZgGmsDkzaVb7sOQjBO29ajRxOgDdZRA4RLcfP32zPz4TP1Hz59H6xzhpzGHwvoSHQ |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1145/2884781.2884876 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP) 1998-present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Xplore url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9781450339001 145033900X |
| EISSN | 1558-1225 |
| EndPage | 1132 |
| ExternalDocumentID | 7886985 |
| Genre | orig-research |
| GroupedDBID | -~X .4S .DC 123 23M 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ AFFNX ALMA_UNASSIGNED_HOLDINGS APO ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F I07 IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO RNS XOL |
| ID | FETCH-LOGICAL-a247t-4e9133040cac3e309964f41d53b6c77be9562adff1bb6857da3a36b1db789c193 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 18 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000406138600096&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Aug 27 02:07:20 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a247t-4e9133040cac3e309964f41d53b6c77be9562adff1bb6857da3a36b1db789c193 |
| PageCount | 12 |
| ParticipantIDs | ieee_primary_7886985 |
| PublicationCentury | 2000 |
| PublicationDate | 2016-May |
| PublicationDateYYYYMMDD | 2016-05-01 |
| PublicationDate_xml | – month: 05 year: 2016 text: 2016-May |
| PublicationDecade | 2010 |
| PublicationTitle | Proceedings / International Conference on Software Engineering |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2016 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssj0006499 |
| Score | 2.0903482 |
| Snippet | Previous techniques on concurrency testing have mainly focused on exploring the interleaving space of manually written test code to expose faulty interleavings... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 1121 |
| SubjectTerms | Automated test generation Concurrent computing Instruction sets Interleaving coverage criteria Programming Space exploration Synchronization Testing |
| Title | Coverage-Driven Test Code Generation for Concurrent Classes |
| URI | https://ieeexplore.ieee.org/document/7886985 |
| WOSCitedRecordID | wos000406138600096&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED6VioGpQIt4ywMjaetH_BBjoWKqOhSpW-XHWWJJUR_8fuwkFAYWplhWpEgX--47--77AB7QOxYjxyLKtIIFZ7YwZRwXlgobI3IWqK_FJtRsppdLM-_A46EXBhHr4jMc5mF9lx_Wfp-PykYpXZNGl0dwpJRserUOXlcm6N5S91BRjpjWuYlymJ86E4r80k6pQ8e097-PnsLgpwePzA_R5Qw6WJ1D71uEgbR7sg9Pk1yEmbxC8bzJnosskp8nk3VA0lBKZ8uTBE3TXOUbNiZSS2HidgBv05fF5LVoFREKy4TaFQINzQcQY289R57QnRRR0FByJ71SDlO2w2yIkTondamC5ZZLR4NT2viE1S6gW60rvARiA0eW3jHRlIK5sfHBGmdCSi-4il5cQT_bYvXRkF6sWjNc_z19AycJScimEvAWurvNHu_g2H_u3reb-_pPfQFXeZYB |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED6VggRTgRbxxgMjaRPbcWIxFqoiStWhSN0qP84SS1r1we_HTkJhYGGKZUWKdLHvvrPvvg_gHo2mzjGMnPArmDOqIpm6OFIJV84hozYxpdhENh7ns5mcNOBh1wuDiGXxGXbDsLzLtwuzDUdlPZ-uCZmne7Cfck7jqltr53eFB-81eU_C0x7N89BG2Q3PPFCK_FJPKYPHoPW_zx5D56cLj0x28eUEGlicQutbhoHUu7INj_1Qhun9QvS0Cr6LTL2nJ_2FRVKRSgfbEw9O_VxhKj4mUoph4roD74PnaX8Y1ZoIkaI820QcZRKOIGKjDEPm8Z3gjic2ZVqYLNPo8x2qrHOJ1iJPM6uYYkInVme5NB6tnUGzWBR4DkRZhtS_I51MOdWxNFZJLa1PMFjmDL-AdrDFfFnRXsxrM1z-PX0Hh8Pp22g-ehm_XsGRxxWiqgu8huZmtcUbODCfm4_16rb8a19Wh5lI |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Coverage-Driven+Test+Code+Generation+for+Concurrent+Classes&rft.au=Terragni%2C+Valerio&rft.au=Shing-Chi+Cheung&rft.date=2016-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=1121&rft.epage=1132&rft_id=info:doi/10.1145%2F2884781.2884876&rft.externalDocID=7886985 |