{"id":"https://openalex.org/W4388731335","doi":"https://doi.org/10.1007/s10664-023-10388-7","title":"Frankenstein: fast and lightweight call graph generation for software builds","display_name":"Frankenstein: fast and lightweight call graph generation for software builds","publication_year":2023,"publication_date":"2023-11-16","ids":{"openalex":"https://openalex.org/W4388731335","doi":"https://doi.org/10.1007/s10664-023-10388-7"},"language":"en","primary_location":{"id":"doi:10.1007/s10664-023-10388-7","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10388-7","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10388-7.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"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10388-7.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5055291812","display_name":"Mehdi Keshani","orcid":"https://orcid.org/0000-0002-8647-0067"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Mehdi Keshani","raw_affiliation_strings":["Delft University of Technology, Delft, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-8647-0067","affiliations":[{"raw_affiliation_string":"Delft University of Technology, Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043864604","display_name":"Georgios Gousios","orcid":"https://orcid.org/0000-0002-8495-7939"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Georgios Gousios","raw_affiliation_strings":["Delft University of Technology, Delft, Netherlands","Endor Labs, Palo Alto, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]},{"raw_affiliation_string":"Endor Labs, Palo Alto, CA, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5003806730","display_name":"Sebastian Proksch","orcid":"https://orcid.org/0000-0003-1856-9361"},"institutions":[{"id":"https://openalex.org/I98358874","display_name":"Delft University of Technology","ror":"https://ror.org/02e2c7k09","country_code":"NL","type":"education","lineage":["https://openalex.org/I98358874"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Sebastian Proksch","raw_affiliation_strings":["Delft University of Technology, Delft, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Delft University of Technology, Delft, Netherlands","institution_ids":["https://openalex.org/I98358874"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5055291812"],"corresponding_institution_ids":["https://openalex.org/I98358874"],"apc_list":{"value":2290,"currency":"EUR","value_usd":2890},"apc_paid":{"value":2290,"currency":"EUR","value_usd":2890},"fwci":3.2882,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.93364041,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"29","issue":"1","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"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.9995999932289124,"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.9994000196456909,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9991999864578247,"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/computer-science","display_name":"Computer science","score":0.883212685585022},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.843536376953125},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5591229200363159},{"id":"https://openalex.org/keywords/automatic-summarization","display_name":"Automatic summarization","score":0.5022318363189697},{"id":"https://openalex.org/keywords/dependency-graph","display_name":"Dependency graph","score":0.48531264066696167},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.46595460176467896},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.4200121760368347},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.41465091705322266},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.4103161692619324},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.37032458186149597},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3628007769584656},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.22857192158699036},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13846111297607422}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.883212685585022},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.843536376953125},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5591229200363159},{"id":"https://openalex.org/C170858558","wikidata":"https://www.wikidata.org/wiki/Q1394144","display_name":"Automatic summarization","level":2,"score":0.5022318363189697},{"id":"https://openalex.org/C16311509","wikidata":"https://www.wikidata.org/wiki/Q4148050","display_name":"Dependency graph","level":3,"score":0.48531264066696167},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.46595460176467896},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.4200121760368347},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.41465091705322266},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.4103161692619324},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.37032458186149597},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3628007769584656},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.22857192158699036},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13846111297607422}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/s10664-023-10388-7","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10388-7","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10388-7.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":"pmh:oai:tudelft.nl:uuid:aa9977c0-85d9-451b-9b1c-0337c67d9236","is_oa":true,"landing_page_url":"http://resolver.tudelft.nl/uuid:aa9977c0-85d9-451b-9b1c-0337c67d9236","pdf_url":null,"source":{"id":"https://openalex.org/S4306400906","display_name":"Research Repository (Delft University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"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":"","raw_type":"journal article"}],"best_oa_location":{"id":"doi:10.1007/s10664-023-10388-7","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10664-023-10388-7","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10664-023-10388-7.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/G2630842736","display_name":null,"funder_award_id":"825328","funder_id":"https://openalex.org/F4320337669","funder_display_name":"H2020 European Institute of Innovation and Technology"}],"funders":[{"id":"https://openalex.org/F4320321012","display_name":"Technische Universiteit Delft","ror":"https://ror.org/02e2c7k09"},{"id":"https://openalex.org/F4320332999","display_name":"Horizon 2020 Framework Programme","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320337669","display_name":"H2020 European Institute of Innovation and Technology","ror":"https://ror.org/036dxts37"}],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4388731335.pdf"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W206636664","https://openalex.org/W821933395","https://openalex.org/W1517790727","https://openalex.org/W1618316727","https://openalex.org/W1959797194","https://openalex.org/W1974608873","https://openalex.org/W1997981086","https://openalex.org/W2000194923","https://openalex.org/W2020841721","https://openalex.org/W2040915209","https://openalex.org/W2051600169","https://openalex.org/W2052664195","https://openalex.org/W2055084740","https://openalex.org/W2077850509","https://openalex.org/W2080573945","https://openalex.org/W2115460680","https://openalex.org/W2137417304","https://openalex.org/W2140021378","https://openalex.org/W2153058579","https://openalex.org/W2159613309","https://openalex.org/W2169462176","https://openalex.org/W2171240827","https://openalex.org/W2377819450","https://openalex.org/W2533284009","https://openalex.org/W2546558533","https://openalex.org/W2621225554","https://openalex.org/W2808651716","https://openalex.org/W2842584488","https://openalex.org/W2897025578","https://openalex.org/W2909327301","https://openalex.org/W2959352824","https://openalex.org/W3089825636","https://openalex.org/W3099954734","https://openalex.org/W3111853352","https://openalex.org/W3121596715","https://openalex.org/W3163504396","https://openalex.org/W3180903877","https://openalex.org/W3183979683","https://openalex.org/W4245321046","https://openalex.org/W4250199140","https://openalex.org/W4284671049"],"related_works":["https://openalex.org/W3089825636","https://openalex.org/W1567493346","https://openalex.org/W2913797084","https://openalex.org/W2401085479","https://openalex.org/W4300962513","https://openalex.org/W2527850347","https://openalex.org/W4386035321","https://openalex.org/W2808651716","https://openalex.org/W4387982387","https://openalex.org/W3003055204"],"abstract_inverted_index":{"Abstract":[0],"Call":[1,44],"Graphs":[2],"are":[3,60],"a":[4,41,48,126,147,151,192,202,266],"rich":[5],"data":[6],"source":[7],"and":[8,86,190],"form":[9],"the":[10,38,53,95,165,207,230,247,274,300],"foundation":[11],"for":[12,18,135,155,181,187,206,251,295,302],"advanced":[13,69],"static":[14,70,130,305],"analyses":[15,71,82,113,131,306],"that":[16,67,138,167,214],"can,":[17],"example,":[19],"detect":[20],"security":[21],"vulnerabilities":[22],"or":[23],"dead":[24],"code.":[25],"This":[26,245,292],"information":[27],"is":[28,32,47],"invaluable":[29],"when":[30,271],"it":[31],"immediately":[33],"available,":[34],"such":[35,88],"as":[36,87],"in":[37,94,115,142,307],"output":[39],"of":[40,150,159,225,239,243,269,288],"build":[42,96,109,252,308],"system.":[43],"Graph":[45],"generation":[46,158,186,298],"whole-program":[49],"analysis:":[50],"not":[51,172],"just":[52,240],"application,":[54],"but":[55],"also":[56],"all":[57,198],"its":[58],"dependencies":[59],"processed":[61],"together.":[62],"Recent":[63],"work":[64],"has":[65,100],"shown":[66],"even":[68,103],"can":[72,177,218],"use":[73,136],"summarization":[74],"techniques":[75],"to":[76,124,234,273,290],"substantially":[77,219],"improve":[78],"runtime;":[79],"however,":[80],"existing":[81,221],"focus":[83],"on":[84],"soundness,":[85],"remain":[89],"very":[90],"expensive.":[91],"When":[92],"executed":[93],"system,":[97],"which":[98],"typically":[99],"limited":[101,255],"resources,":[102],"powerful":[104],"servers":[105],"suffer":[106],"from":[107],"slow":[108],"times,":[110],"rendering":[111],"these":[112,182,259],"impractical":[114],"today\u2019s":[116],"fast-paced":[117],"development.":[118],"In":[119,223],"this":[120,215],"paper,":[121],"we":[122,176],"aim":[123],"strike":[125],"balance":[127],"between":[128,174],"improving":[129],"while":[132],"remaining":[133],"practical":[134,250],"cases":[137],"require":[139],"quick":[140],"results":[141,200,212],"low-resource":[143],"environments.":[144],"We":[145],"propose":[146],"summarization-based":[148,293],"implementation":[149],"Class-Hierarchy":[152],"Analysis":[153],"algorithm":[154],"call":[156,179,204,263,296],"graph":[157,205,297],"Java":[160],"programs.":[161],"Our":[162,210],"approach":[163,217,249,294],"leverages":[164],"fact":[166],"dependency":[168],"sets":[169],"often":[170],"do":[171],"change":[173],"builds:":[175],"generate":[178],"graphs":[180,264],"dependencies,":[183],"cache":[184],"their":[185],"subsequent":[188],"builds,":[189],"using":[191,303],"novel":[193],"stitching":[194],"algorithm,":[195],"Frankenstein,":[196],"merge":[197],"partial":[199],"into":[201],"complete":[203],"whole":[208],"program.":[209],"evaluation":[211],"show":[213],"lightweight":[216],"outperform":[220],"frameworks.":[222],"terms":[224],"speed":[226],"improvements,":[227],"Frankenstein":[228],"surpasses":[229],"baselines":[231],"by":[232],"up":[233,289],"38%,":[235],"requiring":[236],"an":[237,277],"average":[238],"388":[241],"Megabytes":[242],"memory.":[244],"makes":[246],"proposed":[248],"systems":[253],"with":[254],"memory":[256],"resources.":[257],"Despite":[258],"optimizations,":[260],"our":[261],"generated":[262],"maintain":[265],"near-identical":[267],"set":[268],"edges":[270],"compared":[272],"baselines,":[275],"achieving":[276],"F":[278],"$$_{1}$$":[279],"<mml:math":[280],"xmlns:mml=\"http://www.w3.org/1998/Math/MathML\">":[281],"<mml:msub>":[282],"<mml:mrow/>":[283],"<mml:mn>1</mml:mn>":[284],"</mml:msub>":[285],"</mml:math>":[286],"score":[287],"0.98.":[291],"paves":[299],"way":[301],"extended":[304],"processes.":[309]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":2}],"updated_date":"2026-06-13T06:13:01.061226","created_date":"2025-10-10T00:00:00"}
