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

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings / International Conference on Software Engineering s. 1121 - 1132
Hlavní autoři: Terragni, Valerio, Shing-Chi Cheung
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: ACM 01.05.2016
Témata:
ISSN:1558-1225
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
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/IET Electronic Library
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.090242
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/eLvHCXMwlV09T8MwED21FQNTgRbxLQ-MmDaJYztiLFQMqOpQULfKHxeJJUVtyu_n7ITCwMIUy4MtXeR37-y7dwC3JflU1FrwTHrHhRSak1MgMCzyXJtUoYvZhG8vajbTy2Ux78DdvhYGEWPyGd6HYXzL92u3C1dlIwrXZKHzLnSVkk2t1h51JVH3VronEfkopf2VpgCQvjoIivzqnRJdx7T_v02PYPhTg8fme-9yDB2sTqD_3YSBtWdyAA-TkIRJqMAfNwG52IJwnk3WHlkjKR0sz4ia0lzlGjUmFlth4nYIr9OnxeSZtx0RuEmFqrnAIgkXEGNnXIYZsTspSpH4PLPSKWWRop3U-LJMrJU6V95kJpM28VbpwhFXO4Veta7wDJijo5t6a62JIm20sPLOjkvjXZqJsTmHQbDF6qMRvVi1Zrj4e_oSDolJyCYT8Ap69WaH13DgPuv37eYm_qkvXeaU1g
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED6VggRTgRbxxgMjpnn4FTEWqiJK1aGgbpVfkVjSqg9-P-ckFAYWplgeEussf_edc_cdwG2OPtUrxWgqnKVMMEXRKSAYZpwrnUhvy2zC96EcjdR0mo0bcLethfHel8ln_j4My3_5bm434aqsi-GayBTfgV3OWBJV1Vpb3BVI3mvxnpjxboIrkApDQHyqICnyq3tK6Tz6rf999hA6P1V4ZLz1L0fQ8MUxtL7bMJD6VLbhoRfSMBEX6OMyYBeZINKT3tx5UolKB9sTJKc4V9hKj4mUzTD9qgNv_adJb0DrnghUJ0yuKfNZHK4gIqtt6lPkd4LlLHY8NcJKaTzGO4l2eR4bIxSXTqc6FSZ2RqrMIls7gWYxL_wpEIuHN3HGGF3KtOGLpbMmyrWzScoifQbtYIvZopK9mNVmOP97-gb2B5PX4Wz4PHq5gAPkFaLKC7yE5nq58VewZz_XH6vldblrX0vcmB0
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