Falcon fault localization in concurrent programs
Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization technique...
Saved in:
| Abstract | Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization techniques have been successful in identifying faults in sequential, deterministic programs, but they cannot detect faulty data-access patterns among threads. This paper presents a new dynamic fault-localization technique that 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's pass/fail results, and reports dataaccess patterns with suspiciousness scores. The paper also presents the description of a prototype implementation of the technique in Java, and the results of an empirical study we performed with the prototype on several Java benchmarks. The empirical study shows that the technique can effectively and efficiently localize the faults for our subjects. |
|---|---|
| AbstractList | Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization techniques have been successful in identifying faults in sequential, deterministic programs, but they cannot detect faulty data-access patterns among threads. This paper presents a new dynamic fault-localization technique that 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's pass/fail results, and reports dataaccess patterns with suspiciousness scores. The paper also presents the description of a prototype implementation of the technique in Java, and the results of an empirical study we performed with the prototype on several Java benchmarks. The empirical study shows that the technique can effectively and efficiently localize the faults for our subjects. |
| Author | Harrold, Mary Jean Vuduc, Richard W. Park, Sangmin |
| Author_xml | – sequence: 1 givenname: Sangmin surname: Park fullname: Park, Sangmin organization: Georgia Institute of Technology – sequence: 2 givenname: Richard W. surname: Vuduc fullname: Vuduc, Richard W. organization: Georgia Institute of Technology – sequence: 3 givenname: Mary Jean surname: Harrold fullname: Harrold, Mary Jean organization: Georgia Institute of Technology |
| BookMark | eNqNj71Ow0AQhFciIEJwTcEL0Njs3v-VKCIBKVKaUJ_O5z3JkNjIpuHtcRQ_ANNMMZ9G-u5g0fUdAzwQVkRKP5NDY72vzu2ku4LCW0cGtXaWvFnAEoXFUgttb6EYx0-cYiQS4RJuNvGY-u4ernM8jlzMvYKPzeth_Vbu9tv39cuujGTETxk5saOo0NeuaaRkWROLBrN16FOjfJSq0cpY62XmrITAPBEm-pgEZS1X8Hj5bZk5fA_tKQ6_waAR6MW0Pl3WmE6h7vuvMRCGs2SYJcMsOaHVP9FQDy1n-Qe-806a |
| ContentType | Conference Proceeding |
| Copyright | 2010 ACM |
| Copyright_xml | – notice: 2010 ACM |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1145/1806799.1806838 |
| 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/IET Electronic Library url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EndPage | 254 |
| ExternalDocumentID | 6062092 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IF 6IG 6IH 6IK 6IL 6IM 6IN AAJGR ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IEGSK IERZE IJVOP OCL RIB RIC RIE RIL RIO -~X .4S .DC 123 23M 29O 5VS 8US AAWTH ABLEC ADZIZ AFFNX ARCSS AVWKF CHZPO EDO FEDTE I-F I07 IPLJI M43 RNS XOL |
| ID | FETCH-LOGICAL-a162t-aece81a409b8dd33e3b1e2d0f7809cd49a34d5467793fef4220fb1e6a9ac21f53 |
| IEDL.DBID | RIE |
| ISBN | 9781605587196 1605587192 |
| ISSN | 0270-5257 |
| IngestDate | Wed Aug 27 02:38:14 EDT 2025 Wed Jan 31 06:43:37 EST 2024 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Keywords | debugging fault localization atomicity violation order violation concurrency |
| Language | English |
| License | 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 Permissions@acm.org |
| LinkModel | DirectLink |
| MeetingName | ICSE '10: 32nd International Conference on Software Engineering |
| MergedId | FETCHMERGED-LOGICAL-a162t-aece81a409b8dd33e3b1e2d0f7809cd49a34d5467793fef4220fb1e6a9ac21f53 |
| PageCount | 10 |
| ParticipantIDs | acm_books_10_1145_1806799_1806838 acm_books_10_1145_1806799_1806838_brief ieee_primary_6062092 |
| PublicationCentury | 2000 |
| PublicationDate | 20100501 2010-May |
| PublicationDateYYYYMMDD | 2010-05-01 |
| PublicationDate_xml | – month: 05 year: 2010 text: 20100501 day: 01 |
| PublicationDecade | 2010 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationSeriesTitle | ACM Conferences |
| PublicationTitle | 2010 ACM/IEEE 32nd International Conference on Software Engineering |
| PublicationTitleAbbrev | icse |
| PublicationYear | 2010 |
| Publisher | ACM IEEE |
| Publisher_xml | – name: ACM – name: IEEE |
| SSID | ssj0000630110 ssj0006499 |
| Score | 2.1788194 |
| Snippet | Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access... |
| SourceID | ieee acm |
| SourceType | Publisher |
| StartPage | 245 |
| SubjectTerms | atomicity violation Computing methodologies -- Parallel computing methodologies -- Parallel programming languages concurrency Concurrent computing debugging fault localization Information systems -- Data management systems -- Middleware for databases -- Distributed transaction monitors Instruction sets Java Message systems order violation Software and its engineering -- Software creation and management -- Software verification and validation Software and its engineering -- Software creation and management -- Software verification and validation -- Process validation -- Traceability Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging Software and its engineering -- Software notations and tools -- General programming languages -- Language types -- Parallel programming languages Software and its engineering -- Software organization and properties -- Contextual software domains -- Operating systems -- Process management -- Monitors Statistical analysis Testing |
| Subtitle | fault localization in concurrent programs |
| Title | Falcon |
| URI | https://ieeexplore.ieee.org/document/6062092 |
| Volume | 1 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB6qePBUtRXrixUEL6bdZF9Zr2LxIKUHld6WPCZQ0K20W3-_STatCIJ42mw2gTBsZjIz-b4BuOYmyVLMMqKRSZKKhBJpkBIlc8XiEmXsiedfn4rJhM9m5bQDt1ssDCL6y2c4dE2fy9cLtXahspE9bNv5VuHuFEXRYrW28RTHHeVNWdDCeeprR1qvKyaO8dOBuuzRPbMOQskC19PmPQ-cPzTNRpS70Eo5dE_uUStCvf8oveItz7j7vzUfQP8bwhdNt8bpEDpYH0F3U8MhClu6B3QsXErqLjJi_dZE3rQFaGY0ryP7SbUMTlG4ybXqw8v44fn-kYQyCkTQnDVEoEJOhXXkJNc6STCRFJmOTcHjUum0FEmqM6sw7VY1aFLGYmNH5KIUilGTJcewWy9qPIFI5pop1CrHwhELKi5NmqMWmhnjugdwZaVVOf9gVbWQ56wKEq2CRAdw8-eYSi7naAbQc_KsPlrejSqI8vT37jPY32T2Y3oOu81yjRewpz6b-Wp56X-WLx8jtIY |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB6KCnqq2or1uYLgxW032WS761UsFWvpoUpvSx4TKGgrffj7TdK0IgjiabPZBMKwmcnM5PsG4Do3KWfIeayRypiJlMTSIImVzBRNCpSJJ55_7bX7_Xw0KgYVuN1gYRDRXz7Dpmv6XL6eqqULlbXsYdvOtwp3mzNGyQqttYmoOPYob8yCHs6Yrx5p_a4kdpyfDtZlD-_cuggFDWxP6_cssP4Qxlskd8GVoumeucetCPX-o_iKtz2d6v9WvQ_1bxBfNNiYpwOo4OQQqusqDlHY1DUgHeGSUneREcu3ReSNWwBnRuNJZD-pFYdTFO5yzevw0nkY3nfjUEghFiSji1igwpwI68rJXOs0xVQSpDox7TwplGaFSJnmVmXazWrQMEoTY0dkohCKEsPTI9iaTCd4DJHMNFWoVYZtRy2ocmlYhlpoaozrbsCVlVbpPIR5uQI98zJItAwSbcDNn2NKORujaUDNybP8WDFvlEGUJ793X8Jud_jcK3uP_adT2Fvn-RNyBluL2RLPYUd9Lsbz2YX_cb4Au1W3zQ |
| 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=2010+ACM%2FIEEE+32nd+International+Conference+on+Software+Engineering&rft.atitle=Falcon%3A+fault+localization+in+concurrent+programs&rft.au=Sangmin+Park&rft.au=Vuduc%2C+R.+W.&rft.au=Harrold%2C+M.+J.&rft.date=2010-05-01&rft.pub=IEEE&rft.isbn=9781605587196&rft.issn=0270-5257&rft.volume=1&rft.spage=245&rft.epage=254&rft_id=info:doi/10.1145%2F1806799.1806838&rft.externalDocID=6062092 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0270-5257&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0270-5257&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0270-5257&client=summon |

