{"id":"https://openalex.org/W1968784174","doi":"https://doi.org/10.1145/1176617.1176667","title":"Improving your software using static analysis to find bugs","display_name":"Improving your software using static analysis to find bugs","publication_year":2006,"publication_date":"2006-10-22","ids":{"openalex":"https://openalex.org/W1968784174","doi":"https://doi.org/10.1145/1176617.1176667","mag":"1968784174"},"language":"en","primary_location":{"id":"doi:10.1145/1176617.1176667","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1176617.1176667","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5061307250","display_name":"Brian Cole","orcid":"https://orcid.org/0000-0002-6377-6215"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Brian Cole","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034889945","display_name":"Daniel Hakim","orcid":"https://orcid.org/0000-0002-8467-5413"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daniel Hakim","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5021478487","display_name":"David Hovemeyer","orcid":"https://orcid.org/0000-0001-5682-754X"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Hovemeyer","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5074126562","display_name":"Reuven Lazarus","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Reuven Lazarus","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026960776","display_name":"William Pugh","orcid":null},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"William Pugh","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5010307971","display_name":"K Stephens","orcid":"https://orcid.org/0000-0002-3058-7418"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kristin Stephens","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5061307250"],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":3.2834,"has_fulltext":false,"cited_by_count":42,"citation_normalized_percentile":{"value":0.92277507,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"673","last_page":"674"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9988999962806702,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9988999962806702,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.989799976348877,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9843999743461609,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8261723518371582},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.8086850047111511},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7737779021263123},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7084901332855225},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.6335176229476929},{"id":"https://openalex.org/keywords/variety","display_name":"Variety (cybernetics)","score":0.5924699306488037},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5770334005355835},{"id":"https://openalex.org/keywords/software-bug","display_name":"Software bug","score":0.5203232765197754},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.4901290833950043},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.47809192538261414},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.471225380897522},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.4606499671936035},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.43327438831329346},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.429345965385437},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.25131702423095703},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.24672931432724},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.22740298509597778},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.22127100825309753},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.20088908076286316}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8261723518371582},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.8086850047111511},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7737779021263123},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7084901332855225},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.6335176229476929},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.5924699306488037},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5770334005355835},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.5203232765197754},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.4901290833950043},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.47809192538261414},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.471225380897522},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.4606499671936035},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.43327438831329346},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.429345965385437},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.25131702423095703},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.24672931432724},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.22740298509597778},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.22127100825309753},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.20088908076286316},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1176617.1176667","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1176617.1176667","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2027642766","https://openalex.org/W1509153591","https://openalex.org/W20625830","https://openalex.org/W2130413583","https://openalex.org/W2537112085","https://openalex.org/W163795935","https://openalex.org/W2115474251","https://openalex.org/W2946274923","https://openalex.org/W1600295928","https://openalex.org/W2159712408"],"abstract_inverted_index":{"FindBugs":[0,84,98,121],"looks":[1],"for":[2,31,75],"bugs":[3],"in":[4,88],"Java":[5,73,90],"programs.":[6],"It":[7],"is":[8,19,24,48,95,122],"based":[9],"on":[10],"the":[11,58,114],"concept":[12],"of":[13,34,57,77,116],"bug":[14,17,78],"patterns.":[15,79],"A":[16],"pattern":[18],"a":[20,32],"code":[21,47],"idiom":[22],"that":[23,83,106],"often":[25,127],"an":[26],"error.":[27],"Bug":[28],"patterns":[29],"arise":[30],"variety":[33,53],"reasons,":[35],"such":[36,65],"as":[37,66],"difficult":[38],"language":[39],"features,":[40],"misunderstood":[41,44],"API":[42],"semantics,":[43],"invariants":[45],"when":[46],"modified":[49],"during":[50],"maintenance,":[51],"garden":[52],"mistakes:":[54],"typos,":[55],"use":[56],"wrong":[59],"boolean":[60],"operator":[61],"and":[62],"simple":[63],"mistakes":[64],"typos.FindBugs":[67],"uses":[68],"static":[69],"analysis":[70,94],"to":[71],"inspect":[72],"bytecode":[74],"occurrences":[76],"We":[80],"have":[81],"found":[82],"finds":[85],"real":[86],"errors":[87],"most":[89],"software.":[91],"Because":[92],"its":[93],"sometimes":[96],"imprecise,":[97],"can":[99],"report":[100],"false":[101,117],"warnings,":[102],"which":[103],"are":[104],"warnings":[105,118],"do":[107],"not":[108],"indicate":[109],"true":[110],"errors.":[111],"In":[112],"practice,":[113],"rate":[115],"reported":[119],"by":[120],"generally":[123],"lower":[124],"than":[125],"50%,":[126],"much":[128],"lower.":[129]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":5}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
