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

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of ACM on programming languages Ročník 1; číslo OOPSLA; s. 1 - 30
Hlavní autori: Zhang, Xin, Grigore, Radu, Si, Xujie, Naik, Mayur
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