{"id":"https://openalex.org/W4390205643","doi":"https://doi.org/10.1007/s10664-023-10392-x","title":"Lightweight precise automatic extraction of exception preconditions in java methods","display_name":"Lightweight precise automatic extraction of exception preconditions in java methods","publication_year":2023,"publication_date":"2023-12-26","ids":{"openalex":"https://openalex.org/W4390205643","doi":"https://doi.org/10.1007/s10664-023-10392-x","pmid":"https://pubmed.ncbi.nlm.nih.gov/38152350"},"language":"en","primary_location":{"id":"doi:10.1007/s10664-023-10392-x","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10392-x","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10392-x.pdf","source":{"id":"https://openalex.org/S109852484","display_name":"Empirical Software Engineering","issn_l":"1382-3256","issn":["1382-3256","1573-7616"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Empirical Software Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","pubmed"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10392-x.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5005194184","display_name":"Diego Marc\u00edlio","orcid":"https://orcid.org/0009-0002-2187-683X"},"institutions":[{"id":"https://openalex.org/I57201433","display_name":"Universit\u00e0 della Svizzera italiana","ror":"https://ror.org/03c4atk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I57201433"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Diego Marcilio","raw_affiliation_strings":["Software Institute, USI Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"],"raw_orcid":"https://orcid.org/0009-0002-2187-683X","affiliations":[{"raw_affiliation_string":"Software Institute, USI Universit\u00e0 della Svizzera italiana, Lugano, Switzerland","institution_ids":["https://openalex.org/I57201433"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5031470846","display_name":"Carlo A. Furia","orcid":"https://orcid.org/0000-0003-1040-3201"},"institutions":[{"id":"https://openalex.org/I57201433","display_name":"Universit\u00e0 della Svizzera italiana","ror":"https://ror.org/03c4atk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I57201433"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Carlo A. Furia","raw_affiliation_strings":["Software Institute, USI Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Software Institute, USI Universit\u00e0 della Svizzera italiana, Lugano, Switzerland","institution_ids":["https://openalex.org/I57201433"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5005194184"],"corresponding_institution_ids":["https://openalex.org/I57201433"],"apc_list":{"value":2290,"currency":"EUR","value_usd":2890},"apc_paid":{"value":2290,"currency":"EUR","value_usd":2890},"fwci":0.424,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.72374179,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":95},"biblio":{"volume":"29","issue":"1","first_page":"30","last_page":"30"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9994000196456909,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.8150931000709534},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7909131646156311},{"id":"https://openalex.org/keywords/documentation","display_name":"Documentation","score":0.7054062485694885},{"id":"https://openalex.org/keywords/completeness","display_name":"Completeness (order theory)","score":0.5476346611976624},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5468043088912964},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4682905077934265},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.45166897773742676},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.4408872127532959},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4251963496208191},{"id":"https://openalex.org/keywords/exception-handling","display_name":"Exception handling","score":0.42135581374168396},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.20620572566986084}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8150931000709534},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7909131646156311},{"id":"https://openalex.org/C56666940","wikidata":"https://www.wikidata.org/wiki/Q788790","display_name":"Documentation","level":2,"score":0.7054062485694885},{"id":"https://openalex.org/C17231256","wikidata":"https://www.wikidata.org/wiki/Q5156540","display_name":"Completeness (order theory)","level":2,"score":0.5476346611976624},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5468043088912964},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4682905077934265},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.45166897773742676},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.4408872127532959},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4251963496208191},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.42135581374168396},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.20620572566986084},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1007/s10664-023-10392-x","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10392-x","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10392-x.pdf","source":{"id":"https://openalex.org/S109852484","display_name":"Empirical Software Engineering","issn_l":"1382-3256","issn":["1382-3256","1573-7616"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Empirical Software Engineering","raw_type":"journal-article"},{"id":"pmid:38152350","is_oa":false,"landing_page_url":"https://pubmed.ncbi.nlm.nih.gov/38152350","pdf_url":null,"source":{"id":"https://openalex.org/S4306525036","display_name":"PubMed","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Empirical software engineering","raw_type":null},{"id":"pmh:oai:pubmedcentral.nih.gov:10749893","is_oa":true,"landing_page_url":"https://www.ncbi.nlm.nih.gov/pmc/articles/10749893","pdf_url":"https://pmc.ncbi.nlm.nih.gov/articles/PMC10749893/pdf/10664_2023_Article_10392.pdf","source":{"id":"https://openalex.org/S2764455111","display_name":"PubMed Central","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1299303238","host_organization_name":"National Institutes of Health","host_organization_lineage":["https://openalex.org/I1299303238"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Empir Softw Eng","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1007/s10664-023-10392-x","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10392-x","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10392-x.pdf","source":{"id":"https://openalex.org/S109852484","display_name":"Empirical Software Engineering","issn_l":"1382-3256","issn":["1382-3256","1573-7616"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Empirical Software Engineering","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2382505634","display_name":null,"funder_award_id":"Hi-Fi | SNSF #200021_182060","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G5256785375","display_name":null,"funder_award_id":"200021-","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G8982042","display_name":"Hi-Fi: Widely Applicable and Usable Automated Program Repair","funder_award_id":"182060","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G993971353","display_name":null,"funder_award_id":"200021","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390205643.pdf"},"referenced_works_count":52,"referenced_works":["https://openalex.org/W47563837","https://openalex.org/W146475325","https://openalex.org/W1480909796","https://openalex.org/W1531717019","https://openalex.org/W1600469512","https://openalex.org/W1931348537","https://openalex.org/W1971455601","https://openalex.org/W1987615754","https://openalex.org/W1995008247","https://openalex.org/W2043100293","https://openalex.org/W2062071335","https://openalex.org/W2064081154","https://openalex.org/W2065227490","https://openalex.org/W2074644416","https://openalex.org/W2108632968","https://openalex.org/W2109125971","https://openalex.org/W2114337691","https://openalex.org/W2118655104","https://openalex.org/W2123227336","https://openalex.org/W2126775986","https://openalex.org/W2128542080","https://openalex.org/W2129262850","https://openalex.org/W2132661148","https://openalex.org/W2146177878","https://openalex.org/W2146178292","https://openalex.org/W2156844766","https://openalex.org/W2158391928","https://openalex.org/W2165688098","https://openalex.org/W2171471938","https://openalex.org/W2417863416","https://openalex.org/W2471601946","https://openalex.org/W2724651144","https://openalex.org/W2773253898","https://openalex.org/W2879105418","https://openalex.org/W2883281296","https://openalex.org/W2884276923","https://openalex.org/W2915560446","https://openalex.org/W2955839057","https://openalex.org/W2956307842","https://openalex.org/W2967047440","https://openalex.org/W3013310612","https://openalex.org/W3090397968","https://openalex.org/W3106729728","https://openalex.org/W3137004499","https://openalex.org/W3149821397","https://openalex.org/W3150567095","https://openalex.org/W3171760881","https://openalex.org/W3175923969","https://openalex.org/W4206807714","https://openalex.org/W4212996276","https://openalex.org/W4244488020","https://openalex.org/W4312745834"],"related_works":["https://openalex.org/W2404093817","https://openalex.org/W2396685351","https://openalex.org/W2379780211","https://openalex.org/W4384302888","https://openalex.org/W4323246297","https://openalex.org/W2377088766","https://openalex.org/W2103380617","https://openalex.org/W2131032015","https://openalex.org/W4245904369","https://openalex.org/W2019168903"],"abstract_inverted_index":{"-is":[0],"a":[1,28,67,183],"crucial":[2],"element":[3],"of":[4,53,106,145,182,186,205],"the":[5,40,50,64,103,107,118,151,202],"method's":[6,68],"documentation":[7],"that":[8,32,48,70,81,87,128,191,198],"clients":[9],"should":[10],"know":[11],"to":[12,25,36,62,72,92,111],"properly":[13],"use":[14],"it.":[15],"Unfortunately,":[16],"exceptional":[17,94,203],"behavior":[18,204],"is":[19,78,97,193],"often":[20],"poorly":[21],"documented,":[22],"and":[23,56,90,143,153,196],"sensitive":[24],"changes":[26],"in":[27,66,80,139,164],"project's":[29],"implementation":[30,69],"details":[31],"can":[33,200],"be":[34,112],"onerous":[35],"keep":[37],"synchronized":[38],"with":[39],"documentation.":[41],"We":[42,147],"present":[43],"wit,":[44],"an":[45,74],"automated":[46],"technique":[47],"extracts":[49],"exception":[51,85,137,162,188],"preconditions":[52,86,163,189],"Java":[54,155,206],"methods":[55],"constructors.":[57],"wit":[58,149,192],"uses":[59,126],"static":[60],"analysis":[61,77,181],"analyze":[63],"paths":[65],"lead":[71],"throwing":[73],"exception.":[75],"wit's":[76],"precise,":[79,195],"it":[82,100,158,199],"only":[83,101],"reports":[84],"are":[88],"correct":[89],"correspond":[91],"feasible":[93],"behavior.":[95],"It":[96],"also":[98],"lightweight:":[99],"needs":[102],"source":[104],"code":[105],"class":[108],"(or":[109],"classes)":[110],"analyzed-":[113],"without":[114],"building":[115],"or":[116],"running":[117],"whole":[119],"project.":[120],"To":[121],"this":[122],"end,":[123],"its":[124],"design":[125],"heuristics":[127],"give":[129],"up":[130],"some":[131],"completeness":[132],"(wit":[133],"cannot":[134],"infer":[135],"all":[136],"preconditions)":[138],"exchange":[140],"for":[141],"precision":[142],"ease":[144],"applicability.":[146],"ran":[148],"on":[150,177],"JDK":[152],"46":[154],"projects,":[156],"where":[157],"discovered":[159],"30":[160],"487":[161],"24":[165],"461":[166],"methods,":[167],"taking":[168],"less":[169],"than":[170],"two":[171],"seconds":[172],"per":[173],"analyzed":[174],"public":[175],"method":[176],"average.":[178],"A":[179],"manual":[180],"significant":[184],"sample":[185],"these":[187],"confirmed":[190],"100%":[194],"demonstrated":[197],"document":[201],"methods.":[207]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-04-28T14:05:53.105641","created_date":"2025-10-10T00:00:00"}
