{"id":"https://openalex.org/W2138385884","doi":"https://doi.org/10.1109/icsm.2007.4362621","title":"Matching Control Flow of Program Versions","display_name":"Matching Control Flow of Program Versions","publication_year":2007,"publication_date":"2007-10-01","ids":{"openalex":"https://openalex.org/W2138385884","doi":"https://doi.org/10.1109/icsm.2007.4362621","mag":"2138385884"},"language":"en","primary_location":{"id":"doi:10.1109/icsm.2007.4362621","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2007.4362621","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2007 IEEE International Conference on Software Maintenance","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.research.ed.ac.uk/en/publications/e95ade38-c4fb-41b2-a038-71ab830cfe9e","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056071760","display_name":"Vijay Nagarajan","orcid":"https://orcid.org/0009-0000-5045-4754"},"institutions":[{"id":"https://openalex.org/I103635307","display_name":"University of California, Riverside","ror":"https://ror.org/03nawhv43","country_code":"US","type":"education","lineage":["https://openalex.org/I103635307"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Vijay Nagarajan","raw_affiliation_strings":["University of California, Riverside, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Riverside, USA","institution_ids":["https://openalex.org/I103635307"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100699251","display_name":"Rajiv Gupta","orcid":"https://orcid.org/0000-0002-9348-3974"},"institutions":[{"id":"https://openalex.org/I103635307","display_name":"University of California, Riverside","ror":"https://ror.org/03nawhv43","country_code":"US","type":"education","lineage":["https://openalex.org/I103635307"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rajiv Gupta","raw_affiliation_strings":["University of California, Riverside, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Riverside, USA","institution_ids":["https://openalex.org/I103635307"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5107249133","display_name":"Xiangyu Zhang","orcid":"https://orcid.org/0000-0002-9544-2500"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Xiangyu Zhang","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5080555449","display_name":"Matias Madou","orcid":null},"institutions":[{"id":"https://openalex.org/I2801227569","display_name":"Ghent University Hospital","ror":"https://ror.org/00xmkp704","country_code":"BE","type":"healthcare","lineage":["https://openalex.org/I2801227569"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Matias Madou","raw_affiliation_strings":["Ghent University, Belgium"],"affiliations":[{"raw_affiliation_string":"Ghent University, Belgium","institution_ids":["https://openalex.org/I2801227569"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090947977","display_name":"Bjorn De Sutter","orcid":"https://orcid.org/0000-0003-0317-2089"},"institutions":[{"id":"https://openalex.org/I2801227569","display_name":"Ghent University Hospital","ror":"https://ror.org/00xmkp704","country_code":"BE","type":"healthcare","lineage":["https://openalex.org/I2801227569"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Bjorn de Sutter","raw_affiliation_strings":["Ghent University, Belgium"],"affiliations":[{"raw_affiliation_string":"Ghent University, Belgium","institution_ids":["https://openalex.org/I2801227569"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5080181390","display_name":"Koen De Bosschere","orcid":"https://orcid.org/0000-0002-6338-4297"},"institutions":[{"id":"https://openalex.org/I2801227569","display_name":"Ghent University Hospital","ror":"https://ror.org/00xmkp704","country_code":"BE","type":"healthcare","lineage":["https://openalex.org/I2801227569"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Koen de Bosschere","raw_affiliation_strings":["Ghent University"],"affiliations":[{"raw_affiliation_string":"Ghent University","institution_ids":["https://openalex.org/I2801227569"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5056071760"],"corresponding_institution_ids":["https://openalex.org/I103635307"],"apc_list":null,"apc_paid":null,"fwci":1.9443,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":{"value":0.87034012,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"84","last_page":"93"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9998000264167786,"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":0.9998000264167786,"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.9994999766349792,"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.9993000030517578,"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.8962492942810059},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.8844132423400879},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.8472833633422852},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.7838777899742126},{"id":"https://openalex.org/keywords/obfuscation","display_name":"Obfuscation","score":0.757617712020874},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.660636305809021},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.622479259967804},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.5575289130210876},{"id":"https://openalex.org/keywords/dynamic-program-analysis","display_name":"Dynamic program analysis","score":0.5531090497970581},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.5478635430335999},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.5407853126525879},{"id":"https://openalex.org/keywords/program-slicing","display_name":"Program slicing","score":0.5128829479217529},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.5094385743141174},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4961472451686859},{"id":"https://openalex.org/keywords/control-flow-analysis","display_name":"Control flow analysis","score":0.4825705587863922},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.43858253955841064},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.4377394914627075},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41629764437675476},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.4143725037574768},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.36383408308029175},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.2500254809856415},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.14567193388938904},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.11610263586044312},{"id":"https://openalex.org/keywords/procedural-programming","display_name":"Procedural programming","score":0.08797973394393921}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8962492942810059},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.8844132423400879},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.8472833633422852},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.7838777899742126},{"id":"https://openalex.org/C40305131","wikidata":"https://www.wikidata.org/wiki/Q2616305","display_name":"Obfuscation","level":2,"score":0.757617712020874},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.660636305809021},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.622479259967804},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.5575289130210876},{"id":"https://openalex.org/C140006998","wikidata":"https://www.wikidata.org/wiki/Q2499307","display_name":"Dynamic program analysis","level":3,"score":0.5531090497970581},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.5478635430335999},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.5407853126525879},{"id":"https://openalex.org/C91071405","wikidata":"https://www.wikidata.org/wiki/Q1413145","display_name":"Program slicing","level":3,"score":0.5128829479217529},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.5094385743141174},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4961472451686859},{"id":"https://openalex.org/C176359209","wikidata":"https://www.wikidata.org/wiki/Q2348963","display_name":"Control flow analysis","level":5,"score":0.4825705587863922},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.43858253955841064},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.4377394914627075},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41629764437675476},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.4143725037574768},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.36383408308029175},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2500254809856415},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14567193388938904},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.11610263586044312},{"id":"https://openalex.org/C120558287","wikidata":"https://www.wikidata.org/wiki/Q1418502","display_name":"Procedural programming","level":4,"score":0.08797973394393921},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/icsm.2007.4362621","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2007.4362621","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2007 IEEE International Conference on Software Maintenance","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/e95ade38-c4fb-41b2-a038-71ab830cfe9e","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/e95ade38-c4fb-41b2-a038-71ab830cfe9e","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Nagarajan, V, Gupta, R, Zhang, X, Madou, M & De Sutter, B 2007, Matching Control Flow of Program Versions. in Software Maintenance, 2007. ICSM 2007. IEEE International Conference on. Institute of Electrical and Electronics Engineers, pp. 84-93. https://doi.org/10.1109/ICSM.2007.4362621","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/e95ade38-c4fb-41b2-a038-71ab830cfe9e","is_oa":false,"landing_page_url":"http://hdl.handle.net/20.500.11820/e95ade38-c4fb-41b2-a038-71ab830cfe9e","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:openaire/e95ade38-c4fb-41b2-a038-71ab830cfe9e","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/e95ade38-c4fb-41b2-a038-71ab830cfe9e","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Nagarajan, V, Gupta, R, Zhang, X, Madou, M & De Sutter, B 2007, Matching Control Flow of Program Versions. in Software Maintenance, 2007. ICSM 2007. IEEE International Conference on. Institute of Electrical and Electronics Engineers, pp. 84-93. https://doi.org/10.1109/ICSM.2007.4362621","raw_type":"contributionToPeriodical"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W51471258","https://openalex.org/W1567046609","https://openalex.org/W1569422795","https://openalex.org/W1570533264","https://openalex.org/W1664285496","https://openalex.org/W1798077826","https://openalex.org/W1979680516","https://openalex.org/W2081823353","https://openalex.org/W2096522207","https://openalex.org/W2096905893","https://openalex.org/W2105082291","https://openalex.org/W2113371678","https://openalex.org/W2117510436","https://openalex.org/W2166462894","https://openalex.org/W2171200144","https://openalex.org/W2532550198","https://openalex.org/W2544139045","https://openalex.org/W4242939685","https://openalex.org/W4245435048","https://openalex.org/W4248355651","https://openalex.org/W4249566808","https://openalex.org/W4251877850","https://openalex.org/W4253637600"],"related_works":["https://openalex.org/W2346217839","https://openalex.org/W4285814480","https://openalex.org/W1506870877","https://openalex.org/W2150418816","https://openalex.org/W2008860182","https://openalex.org/W2573637329","https://openalex.org/W2138385884","https://openalex.org/W2515962675","https://openalex.org/W2392294830","https://openalex.org/W3177786601"],"abstract_inverted_index":{"In":[0,127],"many":[1],"application":[2],"areas,":[3],"including":[4],"piracy":[5,82],"detection,":[6],"software":[7,81],"debugging":[8,90],"and":[9,143,164,171,176,206,224],"maintenance,":[10],"situations":[11],"arise":[12],"in":[13,57,80,89,106,150,180],"which":[14,47,103],"there":[15],"is":[16,100],"a":[17,24,77,85,96,121,132],"need":[18],"for":[19,226],"comparing":[20],"two":[21,59,74],"versions":[22,75,199],"of":[23,91,124,153,174],"program":[25,60,197],"that":[26,200,215],"dynamically":[27],"behave":[28],"the":[29,58,70,73,125,138,151,216,227],"same":[30],"even":[31,109],"though":[32],"they":[33],"statically":[34],"appear":[35],"to":[36,51,68,119,182,194,203],"be":[37,66],"different.":[38],"Recently":[39],"dynamic":[40,134,189],"matching":[41,135,190],"[18]":[42],"was":[43],"proposed":[44],"by":[45,76,192],"us":[46],"uses":[48],"execution":[49],"histories":[50],"automatically":[52],"produce":[53],"mappings":[54,63,112,173,219],"between":[55,72,184],"instructions":[56],"versions.":[61],"The":[62],"then":[64],"can":[65],"used":[67],"understand":[69],"correspondence":[71],"user":[78],"involved":[79,88],"detection":[83],"or":[84,108],"comparison":[86],"checker":[87],"optimized":[92],"code.":[93],"However,":[94],"if":[95],"program's":[97],"control":[98,144,155,168,178,207,217],"flow":[99,145,156,169,179,208,218],"substantially":[101],"altered,":[102],"usually":[104],"occurs":[105],"obfuscation":[107,205],"manual":[110],"transformations,":[111],"at":[113],"instruction":[114],"level":[115],"are":[116,221],"not":[117],"sufficient":[118],"enable":[120],"good":[122],"understanding":[123],"correspondence.":[126],"this":[128],"paper,":[129],"we":[130],"present":[131],"comprehensive":[133],"algorithm":[136],"with":[137,198],"focus":[139],"on":[140],"call":[141],"graph":[142],"matching.":[146],"Our":[147,211],"technique":[148],"works":[149],"presence":[152],"aggressive":[154],"transformations":[157],"(both":[158],"interprocedural":[159,175],"such":[160,166],"as":[161,167],"function":[162],"Mining/outlining":[163],"intraprocedural":[165,177],"flattening)":[170],"produces":[172],"addition":[181],"mapping":[183],"instructions.":[185],"We":[186],"evaluated":[187],"our":[188],"algorithms":[191],"attempting":[193],"match":[195],"original":[196],"were":[201],"subjected":[202],"popular":[204],"altering":[209],"transformations.":[210],"experimental":[212],"results":[213],"show":[214],"produced":[220],"highly":[222],"accurate":[223],"complete,":[225],"programs":[228],"considered.":[229]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":3},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":2}],"updated_date":"2026-03-10T16:38:18.471706","created_date":"2025-10-10T00:00:00"}
