Effective interactive resolution of static analysis alarms
We propose an interactive approach to resolve static analysis alarms. Our approach synergistically combines a sound but imprecise analysis with precise but unsound heuristics, through user interaction. In each iteration, it solves an optimization problem to find a set of questions for the user such...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 1; číslo OOPSLA; s. 1 - 30 |
|---|---|
| Hlavní autori: | , , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
01.10.2017
|
| ISSN: | 2475-1421, 2475-1421 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | We propose an interactive approach to resolve static analysis alarms. Our approach synergistically combines a sound but imprecise analysis with precise but unsound heuristics, through user interaction. In each iteration, it solves an optimization problem to find a set of questions for the user such that the expected payoff is maximized. We have implemented our approach in a tool, Ursa, that enables interactive alarm resolution for any analysis specified in the declarative logic programming language Datalog. We demonstrate the effectiveness of Ursa on a state-of-the-art static datarace analysis using a suite of 8 Java programs comprising 41-194 KLOC each. Ursa is able to eliminate 74% of the false alarms per benchmark with an average payoff of 12× per question. Moreover, Ursa prioritizes user effort effectively by posing questions that yield high payoffs earlier. |
|---|---|
| AbstractList | We propose an interactive approach to resolve static analysis alarms. Our approach synergistically combines a sound but imprecise analysis with precise but unsound heuristics, through user interaction. In each iteration, it solves an optimization problem to find a set of questions for the user such that the expected payoff is maximized. We have implemented our approach in a tool, Ursa, that enables interactive alarm resolution for any analysis specified in the declarative logic programming language Datalog. We demonstrate the effectiveness of Ursa on a state-of-the-art static datarace analysis using a suite of 8 Java programs comprising 41-194 KLOC each. Ursa is able to eliminate 74% of the false alarms per benchmark with an average payoff of 12× per question. Moreover, Ursa prioritizes user effort effectively by posing questions that yield high payoffs earlier. |
| Author | Zhang, Xin Naik, Mayur Si, Xujie Grigore, Radu |
| Author_xml | – sequence: 1 givenname: Xin surname: Zhang fullname: Zhang, Xin organization: Georgia Institute of Technology, USA – sequence: 2 givenname: Radu surname: Grigore fullname: Grigore, Radu organization: University of Kent, UK – sequence: 3 givenname: Xujie surname: Si fullname: Si, Xujie organization: University of Pennsylvania, USA – sequence: 4 givenname: Mayur surname: Naik fullname: Naik, Mayur organization: University of Pennsylvania, USA |
| BookMark | eNplj0tLAzEUhYNUsNbiX5idq9FkkszccSelPqDgRtfDTeYGItNEkij039vSLkRX5yw-zuOSzUIMxNi14LdCKH0nhZQA4ozNG9XpWqhGzH75C7bM-YNzLnqpQPZzdr92jmzx31T5UCjh0SfKcfoqPoYquioXLN5WGHDaZZ8rnDBt8xU7dzhlWp50wd4f12-r53rz-vSyetjUttFQ9r2g-CjHzhggbcD1urEctWsddAZ6I9tRKQ0tSaDWjU0PfNQCJJFBTp1csJtjrk0x50Ru-Ex-i2k3CD4cXg-n13uy_kNaf5geQ0nop3_8D20LWdo |
| CitedBy_id | crossref_primary_10_1145_3296979_3192417 crossref_primary_10_1145_3494521 crossref_primary_10_1007_s10664_023_10354_3 crossref_primary_10_1145_3653718 crossref_primary_10_1145_3649845 crossref_primary_10_1145_3379446 |
| Cites_doi | 10.1145/581396.581397 10.1145/1882291.1882336 10.1007/978-3-319-41540-6_23 10.1007/978-3-642-27940-9_20 10.1007/978-3-642-24206-9_14 10.1145/2254064.2254087 10.1145/1101908.1101949 10.1145/2666356.2594327 10.1145/2676726.2676977 10.1007/978-3-319-03542-0_21 10.1145/2908080.2908118 10.1007/11547662_15 10.1145/1133981.1134018 10.1145/1640089.1640120 10.1145/2786805.2786851 10.1145/2666356.2594320 10.1109/MS.2008.130 10.21236/ADA419593 10.1145/604131.604140 10.1145/2103656.2103701 10.1145/2950290.2950338 10.1007/11575467_8 10.1007/3-540-44898-5_16 10.1109/ASE.2003.1240292 10.1145/2491956.2462188 10.1109/32.908957 10.1145/1029894.1029909 10.1145/2908080.2908096 10.1145/1065010.1065014 |
| ContentType | Journal Article |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3133881 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 30 |
| ExternalDocumentID | 10_1145_3133881 |
| GroupedDBID | AAKMM AAYFX AAYXX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS CITATION EBS GUFHI LHSKQ M~E OK1 ROL |
| ID | FETCH-LOGICAL-c258t-14840d3d7bb8e5b8f952c0a5f6f87b89b36d44586e38e6fd2980d5183eeba0e73 |
| ISICitedReferencesCount | 17 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000688014000013&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Tue Nov 18 22:11:24 EST 2025 Sat Nov 29 07:49:00 EST 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | OOPSLA |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c258t-14840d3d7bb8e5b8f952c0a5f6f87b89b36d44586e38e6fd2980d5183eeba0e73 |
| OpenAccessLink | http://dl.acm.org/ft_gateway.cfm?id=3133881&type=pdf |
| PageCount | 30 |
| ParticipantIDs | crossref_primary_10_1145_3133881 crossref_citationtrail_10_1145_3133881 |
| PublicationCentury | 2000 |
| PublicationDate | 2017-10-01 |
| PublicationDateYYYYMMDD | 2017-10-01 |
| PublicationDate_xml | – month: 10 year: 2017 text: 2017-10-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationYear | 2017 |
| References | e_1_2_1_42_1 e_1_2_1_20_1 e_1_2_1_41_1 e_1_2_1_40_1 e_1_2_1_24_1 e_1_2_1_22_1 e_1_2_1_43_1 e_1_2_1_27_1 Lhoták Ondrej (e_1_2_1_21_1) 2002 e_1_2_1_28_1 e_1_2_1_25_1 Nelson Greg (e_1_2_1_29_1) 1979 von Dincklage Daniel (e_1_2_1_39_1) 2011 Papadimitriou Christos H. (e_1_2_1_32_1) 1981 e_1_2_1_7_1 e_1_2_1_31_1 e_1_2_1_8_1 Oh Hakjoo (e_1_2_1_30_1) 2016 e_1_2_1_6_1 e_1_2_1_3_1 e_1_2_1_12_1 e_1_2_1_35_1 e_1_2_1_4_1 e_1_2_1_13_1 e_1_2_1_34_1 e_1_2_1_1_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_2_1 e_1_2_1_11_1 e_1_2_1_16_1 e_1_2_1_17_1 Livshits Benjamin (e_1_2_1_23_1) 2015 e_1_2_1_38_1 e_1_2_1_14_1 e_1_2_1_37_1 Bessey Al (e_1_2_1_5_1) 2010 e_1_2_1_15_1 Naik Mayur (e_1_2_1_26_1) 2006 e_1_2_1_36_1 e_1_2_1_9_1 e_1_2_1_18_1 e_1_2_1_19_1 |
| References_xml | – ident: e_1_2_1_35_1 – ident: e_1_2_1_7_1 – ident: e_1_2_1_14_1 doi: 10.1145/581396.581397 – volume-title: Spark: A flexible points-to analysis framework for Java. year: 2002 ident: e_1_2_1_21_1 – ident: e_1_2_1_19_1 doi: 10.1145/1882291.1882336 – volume-title: Chord: A Program Analysis Platform for Java year: 2006 ident: e_1_2_1_26_1 – ident: e_1_2_1_15_1 doi: 10.1007/978-3-319-41540-6_23 – ident: e_1_2_1_20_1 doi: 10.1007/978-3-642-27940-9_20 – ident: e_1_2_1_36_1 doi: 10.1007/978-3-642-24206-9_14 – ident: e_1_2_1_8_1 doi: 10.1145/2254064.2254087 – ident: e_1_2_1_13_1 doi: 10.1145/1101908.1101949 – ident: e_1_2_1_42_1 doi: 10.1145/2666356.2594327 – ident: e_1_2_1_4_1 doi: 10.1145/2676726.2676977 – ident: e_1_2_1_43_1 doi: 10.1007/978-3-319-03542-0_21 – ident: e_1_2_1_31_1 doi: 10.1145/2908080.2908118 – volume-title: Pract. Exper. year: 2011 ident: e_1_2_1_39_1 – ident: e_1_2_1_16_1 doi: 10.1007/11547662_15 – ident: e_1_2_1_27_1 doi: 10.1145/1133981.1134018 – ident: e_1_2_1_1_1 – ident: e_1_2_1_38_1 doi: 10.1145/1640089.1640120 – ident: e_1_2_1_25_1 doi: 10.1145/2786805.2786851 – volume-title: Oppen year: 1979 ident: e_1_2_1_29_1 – ident: e_1_2_1_37_1 doi: 10.1145/2666356.2594320 – volume-title: Selective X-sensitive analysis guided by impact pre-analysis. ACM TOPLAS year: 2016 ident: e_1_2_1_30_1 – volume-title: On the complexity of integer programming. J. ACM year: 1981 ident: e_1_2_1_32_1 – ident: e_1_2_1_2_1 doi: 10.1109/MS.2008.130 – volume-title: Benjamin Chelf, Andy Chou, Bryan Fulton, Seth Hallem, Charles-Henri Gros, Asya Kamsky, Scott McPeak, and Dawson R. Engler. year: 2010 ident: e_1_2_1_5_1 – ident: e_1_2_1_12_1 doi: 10.21236/ADA419593 – ident: e_1_2_1_3_1 doi: 10.1145/604131.604140 – ident: e_1_2_1_28_1 doi: 10.1145/2103656.2103701 – ident: e_1_2_1_40_1 doi: 10.1145/2950290.2950338 – ident: e_1_2_1_41_1 doi: 10.1007/11575467_8 – ident: e_1_2_1_11_1 – ident: e_1_2_1_18_1 doi: 10.1007/3-540-44898-5_16 – ident: e_1_2_1_34_1 doi: 10.1109/ASE.2003.1240292 – ident: e_1_2_1_33_1 – volume-title: Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, and Dimitrios Vardoulakis. year: 2015 ident: e_1_2_1_23_1 – ident: e_1_2_1_6_1 doi: 10.1145/2491956.2462188 – ident: e_1_2_1_9_1 – ident: e_1_2_1_10_1 doi: 10.1109/32.908957 – ident: e_1_2_1_17_1 doi: 10.1145/1029894.1029909 – ident: e_1_2_1_24_1 doi: 10.1145/2908080.2908096 – ident: e_1_2_1_22_1 doi: 10.1145/1065010.1065014 |
| SSID | ssj0001934839 |
| Score | 2.1438723 |
| Snippet | We propose an interactive approach to resolve static analysis alarms. Our approach synergistically combines a sound but imprecise analysis with precise but... |
| SourceID | crossref |
| SourceType | Enrichment Source Index Database |
| StartPage | 1 |
| Title | Effective interactive resolution of static analysis alarms |
| Volume | 1 |
| WOSCitedRecordID | wos000688014000013&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 | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3Lb9MwGLfKxoELMB5iYyAfJm6BxI_4y27VtMFh6yoYqLcqsR2pMLKpNNV22d8-O340Kkhsh12iyLITJ99P38vfA6E9mkMhOTO2iVB5wrisk0oyklBiqxFmRKouv-LHsRiNYDIpxoNBG3JhlueiaeDqqrh8UFKbMUNsmzp7D3LHh5oBc2-Ibq6G7OZ6J8K7esQ2IMiWguiSoJa2N0p4q1UPbRpRV6jVVyQpjX3ry5Z7RXUcBVsX6zE8OLHHCj6a67f1LwRPZ1TKo-95MouI-2yMfx_J-7VUbfTndDEEk_bnLOJqVM5-ueSh63be90UY-Rai2jzLIkzwJGMu5_mj_sdY4Lk9aJ2ejr8dD3tMNOtJY3do8zefZ7YkBrUGNmQrURaO79ckXIw7dFnYfOoXPkKbRPDC8vOTm55rrqAMuh50ce8u3dqu_eTX9vSYnkJy9hw99ZYEHjoEbKGBbl6gZ6FLB_ZM-yXaj4DAPUDgFSDwRY0dIHAABHaAeIW-Hx2eHXxJfMeMRBIOC7NVY68rqkRVgeYV1AUnMi15ndcgKigqmivGOOSags5rRQpIFTdcXeuqTLWgr9FGc9HoNwjrmussL7kGYEykFSgoic4lJbJmJU-30Yfw_VPpy8nbribn07WfvI1wnHjpKqisT9n5_5S36MkKcLtoYzFv9Tv0WC4Xsz_z9x39bgHQeGMe |
| linkProvider | ISSN International Centre |
| 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%3Ajournal&rft.genre=article&rft.atitle=Effective+interactive+resolution+of+static+analysis+alarms&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Zhang%2C+Xin&rft.au=Grigore%2C+Radu&rft.au=Si%2C+Xujie&rft.au=Naik%2C+Mayur&rft.date=2017-10-01&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=1&rft.issue=OOPSLA&rft.spage=1&rft.epage=30&rft_id=info:doi/10.1145%2F3133881&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3133881 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |