{"id":"https://openalex.org/W3042563546","doi":"https://doi.org/10.1145/3395363.3397368","title":"Identifying Java calls in native code via binary scanning","display_name":"Identifying Java calls in native code via binary scanning","publication_year":2020,"publication_date":"2020-07-13","ids":{"openalex":"https://openalex.org/W3042563546","doi":"https://doi.org/10.1145/3395363.3397368","mag":"3042563546"},"language":"en","primary_location":{"id":"doi:10.1145/3395363.3397368","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3395363.3397368","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis","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/A5029661538","display_name":"George Fourtounis","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 Fourtounis","raw_affiliation_strings":["University of Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050194389","display_name":"Leonidas Triantafyllou","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":false,"raw_author_name":"Leonidas Triantafyllou","raw_affiliation_strings":["University of Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of 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, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5029661538"],"corresponding_institution_ids":["https://openalex.org/I200777214"],"apc_list":null,"apc_paid":null,"fwci":1.8184,"has_fulltext":false,"cited_by_count":23,"citation_normalized_percentile":{"value":0.85727452,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":93,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"388","last_page":"400"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":1.0,"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"}},{"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/T10260","display_name":"Software Engineering Research","score":0.9979000091552734,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8532233238220215},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.8029452562332153},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.7293492555618286},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.7156553268432617},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.6905937194824219},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.6634040474891663},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6352905035018921},{"id":"https://openalex.org/keywords/java-card","display_name":"Java Card","score":0.633575439453125},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.6045099496841431},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.5822275280952454},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.5809335112571716},{"id":"https://openalex.org/keywords/strictfp","display_name":"strictfp","score":0.5624351501464844},{"id":"https://openalex.org/keywords/android","display_name":"Android (operating system)","score":0.5455976128578186},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5227508544921875},{"id":"https://openalex.org/keywords/java-concurrency","display_name":"Java concurrency","score":0.5120447278022766},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.5102438926696777},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.5064500570297241},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.2120678722858429}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8532233238220215},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.8029452562332153},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.7293492555618286},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.7156553268432617},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.6905937194824219},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.6634040474891663},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6352905035018921},{"id":"https://openalex.org/C47747970","wikidata":"https://www.wikidata.org/wiki/Q46101","display_name":"Java Card","level":4,"score":0.633575439453125},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.6045099496841431},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.5822275280952454},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.5809335112571716},{"id":"https://openalex.org/C174954855","wikidata":"https://www.wikidata.org/wiki/Q7623626","display_name":"strictfp","level":4,"score":0.5624351501464844},{"id":"https://openalex.org/C557433098","wikidata":"https://www.wikidata.org/wiki/Q94","display_name":"Android (operating system)","level":2,"score":0.5455976128578186},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5227508544921875},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.5120447278022766},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.5102438926696777},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.5064500570297241},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.2120678722858429}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3395363.3397368","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3395363.3397368","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W263458817","https://openalex.org/W1499965119","https://openalex.org/W1568194905","https://openalex.org/W1800135239","https://openalex.org/W1855973055","https://openalex.org/W2010163347","https://openalex.org/W2071672346","https://openalex.org/W2080696000","https://openalex.org/W2135389226","https://openalex.org/W2140021378","https://openalex.org/W2142934822","https://openalex.org/W2151562310","https://openalex.org/W2496999134","https://openalex.org/W2511015845","https://openalex.org/W2514974017","https://openalex.org/W2604241429","https://openalex.org/W2624328589","https://openalex.org/W2751955863","https://openalex.org/W2757983416","https://openalex.org/W2761428514","https://openalex.org/W2803054784","https://openalex.org/W2890190663","https://openalex.org/W2897025578","https://openalex.org/W2930019028","https://openalex.org/W2957722460","https://openalex.org/W2959352824","https://openalex.org/W2962830343","https://openalex.org/W2990712136","https://openalex.org/W3089825636","https://openalex.org/W4238846789","https://openalex.org/W4247889999","https://openalex.org/W4249596969","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2150852819","https://openalex.org/W1966703274","https://openalex.org/W2131356772","https://openalex.org/W2197133764","https://openalex.org/W2948473269","https://openalex.org/W412736943","https://openalex.org/W2068892086","https://openalex.org/W2151238794","https://openalex.org/W2066444215","https://openalex.org/W3042563546"],"abstract_inverted_index":{"Current":[0],"Java":[1,24,33,38,75,99,108],"static":[2,45,69],"analyzers,":[3],"operating":[4],"either":[5],"on":[6,53,116],"the":[7,23,48,125,131],"source":[8],"or":[9],"bytecode":[10],"level,":[11],"exhibit":[12],"unsoundness":[13],"for":[14,82,104],"programs":[15,34],"that":[16,22,72],"contain":[17],"native":[18,51,66,86,102,127],"code.":[19],"We":[20],"show":[21],"Native":[25],"Interface":[26],"(JNI)":[27],"specification,":[28],"which":[29],"is":[30,40],"used":[31],"by":[32],"to":[35,43,59,74,95],"interoperate":[36],"with":[37,88],"code,":[39,103],"principled":[41],"enough":[42],"permit":[44],"reasoning":[46],"about":[47],"effects":[49],"of":[50,64,130],"code":[52],"program":[54],"execution":[55],"when":[56],"it":[57],"comes":[58],"call-backs.":[60],"Our":[61],"approach":[62,93],"consists":[63],"disassembling":[65],"binaries,":[67],"recovering":[68],"symbol":[70],"information":[71],"corresponds":[73],"method":[76],"signatures,":[77],"and":[78,107,122],"producing":[79],"a":[80],"model":[81],"statically":[83],"exercising":[84],"these":[85],"call-backs":[87],"appropriate":[89],"mock":[90],"objects.":[91],"The":[92],"manages":[94],"recover":[96],"virtually":[97],"all":[98],"calls":[100],"in":[101],"both":[105],"Android":[106,118],"desktop":[109],"applications\u2014(a)":[110],"achieving":[111],"100%":[112],"native-to-application":[113],"call-graph":[114],"recall":[115],"large":[117],"applications":[119],"(Chrome,":[120],"Instagram)":[121],"(b)":[123],"capturing":[124],"full":[126],"call-back":[128],"behavior":[129],"XCorpus":[132],"suite":[133],"programs.":[134]},"counts_by_year":[{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":6},{"year":2021,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
