{"id":"https://openalex.org/W2291690114","doi":"https://doi.org/10.1145/2824234","title":"Type-Based Call Graph Construction Algorithms for Scala","display_name":"Type-Based Call Graph Construction Algorithms for Scala","publication_year":2015,"publication_date":"2015-12-02","ids":{"openalex":"https://openalex.org/W2291690114","doi":"https://doi.org/10.1145/2824234","mag":"2291690114"},"language":"en","primary_location":{"id":"doi:10.1145/2824234","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2824234","pdf_url":null,"source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"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":"ACM Transactions on Software Engineering and Methodology","raw_type":"journal-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/A5038781215","display_name":"Karim Ali","orcid":"https://orcid.org/0000-0002-5516-1376"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Karim Ali","raw_affiliation_strings":["Technische Universit\u00e4t Darmstadt, Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"Technische Universit\u00e4t Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027027438","display_name":"Marianna Rapoport","orcid":null},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Marianna Rapoport","raw_affiliation_strings":["University of Waterloo, Ontario, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Ontario, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039616179","display_name":"Ond\u0159ej Lhot\u00e1k","orcid":"https://orcid.org/0000-0001-9066-1889"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Ond\u0159ej Lhot\u00e1k","raw_affiliation_strings":["University of Waterloo, Ontario, Canada"],"affiliations":[{"raw_affiliation_string":"University of Waterloo, Ontario, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012855077","display_name":"Julian Dolby","orcid":"https://orcid.org/0000-0002-6658-2678"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Julian Dolby","raw_affiliation_strings":["IBM T.J. Watson Research Center"],"affiliations":[{"raw_affiliation_string":"IBM T.J. Watson Research Center","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087594876","display_name":"Frank Tip","orcid":"https://orcid.org/0000-0002-1862-3498"},"institutions":[{"id":"https://openalex.org/I4210101778","display_name":"Samsung (United States)","ror":"https://ror.org/01bfbvm65","country_code":"US","type":"company","lineage":["https://openalex.org/I2250650973","https://openalex.org/I4210101778"]},{"id":"https://openalex.org/I4210133173","display_name":"Research!America (United States)","ror":"https://ror.org/044pgyv50","country_code":"US","type":"company","lineage":["https://openalex.org/I4210133173"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Frank Tip","raw_affiliation_strings":["Samsung Research America"],"affiliations":[{"raw_affiliation_string":"Samsung Research America","institution_ids":["https://openalex.org/I4210101778","https://openalex.org/I4210133173"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5038781215"],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":1.3322,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.86862857,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"25","issue":"1","first_page":"1","last_page":"43"},"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.9993000030517578,"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.9993000030517578,"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/T10260","display_name":"Software Engineering Research","score":0.9975000023841858,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9926999807357788,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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/scala","display_name":"Scala","score":0.953372597694397},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8812968134880066},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.7460582256317139},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6373336911201477},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.595107913017273},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.5866567492485046},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.49121302366256714},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.44661372900009155},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.43780964612960815},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.43072742223739624},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.40408873558044434},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.11585837602615356},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.08351650834083557}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.953372597694397},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8812968134880066},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.7460582256317139},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6373336911201477},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.595107913017273},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.5866567492485046},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.49121302366256714},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.44661372900009155},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.43780964612960815},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.43072742223739624},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40408873558044434},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.11585837602615356},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.08351650834083557}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2824234","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2824234","pdf_url":null,"source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"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":"ACM Transactions on Software Engineering and Methodology","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.5600000023841858}],"awards":[],"funders":[{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W10127936","https://openalex.org/W136002940","https://openalex.org/W148369031","https://openalex.org/W206636664","https://openalex.org/W1536098516","https://openalex.org/W1536265389","https://openalex.org/W1557543533","https://openalex.org/W1591274473","https://openalex.org/W1606397617","https://openalex.org/W1959797194","https://openalex.org/W1966831167","https://openalex.org/W1967470145","https://openalex.org/W1974608873","https://openalex.org/W2000194923","https://openalex.org/W2023274008","https://openalex.org/W2051600169","https://openalex.org/W2066070747","https://openalex.org/W2069476565","https://openalex.org/W2102389857","https://openalex.org/W2115460680","https://openalex.org/W2117426803","https://openalex.org/W2142019528","https://openalex.org/W2142547405","https://openalex.org/W2145883452","https://openalex.org/W2151562310","https://openalex.org/W2162762034","https://openalex.org/W2163627399","https://openalex.org/W2171240827","https://openalex.org/W2912351643","https://openalex.org/W4247889999"],"related_works":["https://openalex.org/W2027642766","https://openalex.org/W1509153591","https://openalex.org/W20625830","https://openalex.org/W2293062955","https://openalex.org/W3213724464","https://openalex.org/W2139643778","https://openalex.org/W4252881265","https://openalex.org/W1677933461","https://openalex.org/W4229020158","https://openalex.org/W2997903896"],"abstract_inverted_index":{"Call":[0],"graphs":[1,116],"have":[2,41],"many":[3,36],"applications":[4],"in":[5,19,32,44],"software":[6],"engineering.":[7],"For":[8],"example,":[9],"they":[10],"serve":[11],"as":[12,58],"the":[13,26,45,68,73],"basis":[14],"for":[15],"code":[16],"navigation":[17],"features":[18,56],"integrated":[20],"development":[21],"environments":[22],"and":[23,60,97,122],"are":[24,48],"at":[25],"foundation":[27],"of":[28,51],"static":[29],"analyses":[30],"performed":[31],"verification":[33],"tools.":[34],"While":[35],"call":[37,91,115],"graph":[38,92],"construction":[39,93],"algorithms":[40,66,94],"been":[42],"presented":[43],"literature,":[46],"we":[47],"not":[49],"aware":[50],"any":[52],"that":[53,109],"handle":[54],"Scala":[55,74,96],"such":[57],"traits":[59],"abstract":[61],"type":[62,81],"members.":[63],"Applying":[64],"existing":[65,89],"to":[67,95],"JVM":[69],"bytecodes":[70],"generated":[71],"by":[72],"compiler":[75],"produces":[76],"very":[77],"imprecise":[78],"results":[79],"because":[80],"information":[82],"is":[83],"lost":[84],"during":[85],"compilation.":[86],"We":[87],"adapt":[88],"type-based":[90],"present":[98],"a":[99,128],"formalization":[100],"based":[101],"on":[102],"Featherweight":[103],"Scala.":[104],"An":[105],"experimental":[106],"evaluation":[107],"shows":[108],"our":[110],"most":[111],"precise":[112],"algorithm":[113],"generates":[114],"with":[117],"1.1--3.7":[118],"times":[119,124],"fewer":[120,125],"nodes":[121],"1.5--17.3":[123],"edges":[126],"than":[127],"bytecode-based":[129],"RTA":[130],"analysis.":[131]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
