{"id":"https://openalex.org/W1974355965","doi":"https://doi.org/10.1145/2509136.2509530","title":"Class hierarchy complementation","display_name":"Class hierarchy complementation","publication_year":2013,"publication_date":"2013-10-23","ids":{"openalex":"https://openalex.org/W1974355965","doi":"https://doi.org/10.1145/2509136.2509530","mag":"1974355965"},"language":"en","primary_location":{"id":"doi:10.1145/2509136.2509530","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2509136.2509530","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages &amp; 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/A5051600123","display_name":"George Balatsouras","orcid":null},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":true,"raw_author_name":"George Balatsouras","raw_affiliation_strings":["University of Athens, Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043949214","display_name":"Yannis Smaragdakis","orcid":"https://orcid.org/0000-0002-0499-0182"},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":false,"raw_author_name":"Yannis Smaragdakis","raw_affiliation_strings":["University of Athens, Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5051600123"],"corresponding_institution_ids":["https://openalex.org/I200777214"],"apc_list":null,"apc_paid":null,"fwci":0.4809,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.74321979,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"515","last_page":"532"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9975000023841858,"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.7835423946380615},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.7356542348861694},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6321284770965576},{"id":"https://openalex.org/keywords/hierarchy","display_name":"Hierarchy","score":0.6055612564086914},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.5578888058662415},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5538486242294312},{"id":"https://openalex.org/keywords/class-hierarchy","display_name":"Class hierarchy","score":0.5357213616371155},{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.5197874307632446},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5162058472633362},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.47526854276657104},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.45332708954811096},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.4140799939632416},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.1715523600578308},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10670068860054016}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7835423946380615},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.7356542348861694},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6321284770965576},{"id":"https://openalex.org/C31170391","wikidata":"https://www.wikidata.org/wiki/Q188619","display_name":"Hierarchy","level":2,"score":0.6055612564086914},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.5578888058662415},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5538486242294312},{"id":"https://openalex.org/C2781289151","wikidata":"https://www.wikidata.org/wiki/Q2903989","display_name":"Class hierarchy","level":3,"score":0.5357213616371155},{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.5197874307632446},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5162058472633362},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.47526854276657104},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.45332708954811096},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.4140799939632416},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.1715523600578308},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10670068860054016},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C34447519","wikidata":"https://www.wikidata.org/wiki/Q179522","display_name":"Market economy","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2509136.2509530","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2509136.2509530","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages &amp; applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W89731140","https://openalex.org/W194677851","https://openalex.org/W206636664","https://openalex.org/W1495226832","https://openalex.org/W1511095905","https://openalex.org/W1536265389","https://openalex.org/W1959797194","https://openalex.org/W2024818492","https://openalex.org/W2051527230","https://openalex.org/W2080696000","https://openalex.org/W2086860619","https://openalex.org/W2117699092","https://openalex.org/W2132733485","https://openalex.org/W2133662847","https://openalex.org/W2151562310","https://openalex.org/W2154705416","https://openalex.org/W2568492033","https://openalex.org/W3014466547","https://openalex.org/W4247889999","https://openalex.org/W4300810260","https://openalex.org/W6630753057"],"related_works":["https://openalex.org/W2806773351","https://openalex.org/W2011987478","https://openalex.org/W3172035225","https://openalex.org/W1831147408","https://openalex.org/W3188145288","https://openalex.org/W163795935","https://openalex.org/W3026855649","https://openalex.org/W2771082954","https://openalex.org/W2551108136","https://openalex.org/W1974608873"],"abstract_inverted_index":{"We":[0,68,85,118],"present":[1],"the":[2,29,44,52,63,73,78,89,134,140],"problem":[3,38,76,90],"of":[4,13,26,46,54,59,164],"class":[5,105],"hierarchy":[6,12,30,74],"complementation:":[7],"given":[8],"a":[9,23,56,92,123,162,167],"partially":[10],"known":[11],"classes":[14],"together":[15],"with":[16,97],"subtyping":[17,102],"constraints":[18,160],"(\"A":[19],"has":[20,39],"to":[21,43,71,138],"be":[22,110],"transitive":[24],"subtype":[25],"B\")":[27],"complete":[28],"so":[31,132],"that":[32,88,133],"it":[33,49],"satisfies":[34],"all":[35],"constraints.":[36],"The":[37],"immediate":[40],"practical":[41],"application":[42],"analysis":[45,66],"partial":[47,128],"programs--e.g.,":[48],"arises":[50],"in":[51,62,77,91,122,150],"process":[53],"providing":[55],"sound":[57],"handling":[58],"\"phantom":[60],"classes\"":[61],"Soot":[64],"program":[65],"framework.":[67],"provide":[69],"algorithms":[70,121],"solve":[72],"complementation":[75],"single":[79,98],"inheritance":[80,83,99],"and":[81,103,115,148,158],"multiple":[82,101],"settings.":[84],"also":[86],"show":[87],"language":[93],"such":[94],"as":[95],"Java,":[96],"but":[100],"distinguished":[104],"vs.":[106],"interface":[107],"types,":[108],"can":[109],"decomposed":[111],"into":[112],"separate":[113],"single-":[114],"multiple-subtyping":[116],"instances.":[117],"implement":[119],"our":[120],"tool,":[124],"JPhantom,":[125],"which":[126],"complements":[127],"Java":[129,141],"bytecode":[130],"programs":[131],"result":[135],"is":[136,145],"guaranteed":[137],"satisfy":[139],"verifier":[142],"requirements.":[143],"JPhantom":[144],"highly":[146],"scalable":[147],"runs":[149],"mere":[151],"seconds":[152],"even":[153],"for":[154,166],"large":[155],"input":[156],"applications":[157],"complex":[159],"(with":[161],"maximum":[163],"14s":[165],"19MB":[168],"binary).":[169]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
