{"id":"https://openalex.org/W2780762329","doi":"https://doi.org/10.1145/3158117","title":"Inference of static semantics for incomplete C programs","display_name":"Inference of static semantics for incomplete C programs","publication_year":2017,"publication_date":"2017-12-27","ids":{"openalex":"https://openalex.org/W2780762329","doi":"https://doi.org/10.1145/3158117","mag":"2780762329"},"language":"en","primary_location":{"id":"doi:10.1145/3158117","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158117","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158117?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3158117?download=true","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5108691733","display_name":"Leandro T. C. Melo","orcid":null},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Leandro T. C. Melo","raw_affiliation_strings":["Federal University of Minas Gerais, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061049872","display_name":"Rodrigo Ribeiro","orcid":"https://orcid.org/0000-0003-0131-5154"},"institutions":[{"id":"https://openalex.org/I10824318","display_name":"Universidade Federal de Ouro Preto","ror":"https://ror.org/056s65p46","country_code":"BR","type":"education","lineage":["https://openalex.org/I10824318"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Rodrigo G. Ribeiro","raw_affiliation_strings":["Federal University of Ouro Preto, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Federal University of Ouro Preto, Brazil","institution_ids":["https://openalex.org/I10824318"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032325037","display_name":"Marcus Rodrigues de Ara\u00fajo","orcid":null},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Marcus R. de Ara\u00fajo","raw_affiliation_strings":["Federal University of Minas Gerais, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078149140","display_name":"Fernando Magno Quint\u00e3o Pereira","orcid":"https://orcid.org/0000-0002-0375-1657"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Fernando Magno Quint\u00e3o Pereira","raw_affiliation_strings":["Federal University of Minas Gerais, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Brazil","institution_ids":["https://openalex.org/I110200422"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5108691733"],"corresponding_institution_ids":["https://openalex.org/I110200422"],"apc_list":null,"apc_paid":null,"fwci":4.0502,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.94954674,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"2","issue":"POPL","first_page":"1","last_page":"28"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"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.9997000098228455,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9993000030517578,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991000294685364,"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.8454010486602783},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7258571982383728},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.6528928875923157},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5809392929077148},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.5541186928749084},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.5431292653083801},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.5174353718757629},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5116587281227112},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.49322909116744995},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4804905951023102},{"id":"https://openalex.org/keywords/codebase","display_name":"Codebase","score":0.47513893246650696},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.47393542528152466},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4492194354534149},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.4365643262863159},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.4167101979255676},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.31845390796661377},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2839299142360687}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8454010486602783},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7258571982383728},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6528928875923157},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5809392929077148},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.5541186928749084},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.5431292653083801},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.5174353718757629},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5116587281227112},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.49322909116744995},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4804905951023102},{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.47513893246650696},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.47393542528152466},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4492194354534149},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.4365643262863159},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.4167101979255676},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.31845390796661377},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2839299142360687},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3158117","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158117","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158117?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3158117","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158117","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158117?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320321091","display_name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior","ror":"https://ror.org/00x0ma614"},{"id":"https://openalex.org/F4320322025","display_name":"Conselho Nacional de Desenvolvimento Cient\u00edfico e Tecnol\u00f3gico","ror":"https://ror.org/03swz6y49"},{"id":"https://openalex.org/F4320322980","display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado de Minas Gerais","ror":"https://ror.org/00nc55f03"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2780762329.pdf","grobid_xml":"https://content.openalex.org/works/W2780762329.grobid-xml"},"referenced_works_count":49,"referenced_works":["https://openalex.org/W163539143","https://openalex.org/W165943180","https://openalex.org/W1533493347","https://openalex.org/W1553894716","https://openalex.org/W1556536463","https://openalex.org/W1710734607","https://openalex.org/W1900874062","https://openalex.org/W1945229733","https://openalex.org/W1969064066","https://openalex.org/W1970219979","https://openalex.org/W1978692906","https://openalex.org/W1985774614","https://openalex.org/W1989642656","https://openalex.org/W2007181618","https://openalex.org/W2011458734","https://openalex.org/W2012436850","https://openalex.org/W2033531910","https://openalex.org/W2055818134","https://openalex.org/W2058279444","https://openalex.org/W2084175640","https://openalex.org/W2088105804","https://openalex.org/W2096449544","https://openalex.org/W2097335450","https://openalex.org/W2100738443","https://openalex.org/W2110311336","https://openalex.org/W2113722134","https://openalex.org/W2120138937","https://openalex.org/W2126421682","https://openalex.org/W2140647971","https://openalex.org/W2149465027","https://openalex.org/W2150526763","https://openalex.org/W2150998213","https://openalex.org/W2160326424","https://openalex.org/W2162604396","https://openalex.org/W2165304392","https://openalex.org/W2213418347","https://openalex.org/W2296467253","https://openalex.org/W2302344383","https://openalex.org/W2350778671","https://openalex.org/W2405921311","https://openalex.org/W2414762192","https://openalex.org/W2533070090","https://openalex.org/W2563592207","https://openalex.org/W2796564118","https://openalex.org/W3005302725","https://openalex.org/W3106373601","https://openalex.org/W4237492309","https://openalex.org/W4240837084","https://openalex.org/W4255006224"],"related_works":["https://openalex.org/W4245904369","https://openalex.org/W4210653322","https://openalex.org/W2125343911","https://openalex.org/W2019168903","https://openalex.org/W2364777513","https://openalex.org/W3119585180","https://openalex.org/W4285356836","https://openalex.org/W2098629748","https://openalex.org/W3188088379","https://openalex.org/W2243368861"],"abstract_inverted_index":{"Incomplete":[0],"source":[1,168],"code":[2,169],"naturally":[3],"emerges":[4],"in":[5,35,119],"software":[6,122],"development:":[7],"during":[8],"the":[9,19,36,43,150,157],"design":[10],"phase,":[11],"while":[12],"evolving,":[13],"testing":[14,140],"and":[15,139,146,183,190,200],"analyzing":[16],"programs.":[17],"Therefore,":[18],"ability":[20],"to":[21,142],"understand":[22],"partial":[23,102],"programs":[24,104],"is":[25,32,66,165],"a":[26,67,75,85,171],"valuable":[27],"asset.":[28],"However,":[29],"this":[30,71],"problem":[31],"still":[33],"unsolved":[34],"C":[37,47,93,103,174],"programming":[38],"language.":[39],"Difficulties":[40],"stem":[41],"from":[42,170,187,193],"fact":[44],"that":[45,60,77,131,160],"parsing":[46],"requires,":[48],"not":[49,133],"only":[50],"syntax,":[51],"but":[52],"also":[53],"semantic":[54],"information.":[55],"Furthermore,":[56],"inferring":[57],"types":[58],"so":[59],"they":[61],"respect":[62],"C's":[63],"type":[64,87],"system":[65],"challenging":[68],"task.":[69],"In":[70],"paper":[72],"we":[73,97],"present":[74,98],"technique":[76],"lets":[78],"us":[79,100],"solve":[80],"these":[81],"problems.":[82],"We":[83],"provide":[84],"unification-based":[86],"inference":[88],"capable":[89],"of":[90,152,156,173],"dealing":[91],"with":[92],"intricacies.":[94],"The":[95],"ideas":[96],"let":[99],"reconstruct":[101],"into":[105],"complete":[106],"well-typed":[107],"ones.":[108],"Such":[109],"program":[110,158],"reconstruction":[111],"has":[112],"several":[113],"applications:":[114],"enabling":[115],"static":[116,128],"analysis":[117,129],"tools":[118,130,141],"scenarios":[120],"where":[121],"components":[123],"may":[124],"be":[125],"absent;":[126],"improving":[127],"do":[132],"rely":[134],"on":[135,144,149,167,185,191],"build-specifications;":[136],"allowing":[137],"stub-generation":[138],"work":[143],"snippets;":[145],"assisting":[147],"programmers":[148],"extraction":[151],"reusable":[153],"data-structures":[154],"out":[155],"parts":[159],"use":[161],"them.":[162],"Our":[163],"evaluation":[164],"performed":[166],"variety":[172],"libraries":[175],"such":[176],"as":[177],"GNU's":[178],"Coreutils,":[179],"GNULib,":[180],"GNOME's":[181],"GLib,":[182],"GDSL;":[184],"implementations":[186],"Sedgewick's":[188],"books;":[189],"snippets":[192],"popular":[194],"open-source":[195],"projects":[196],"like":[197],"CPython,":[198],"FreeBSD,":[199],"Git.":[201]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
