{"id":"https://openalex.org/W2061927901","doi":"https://doi.org/10.1145/1294948.1294971","title":"Structural analysis and visualization of C++ code evolution using syntax trees","display_name":"Structural analysis and visualization of C++ code evolution using syntax trees","publication_year":2007,"publication_date":"2007-09-03","ids":{"openalex":"https://openalex.org/W2061927901","doi":"https://doi.org/10.1145/1294948.1294971","mag":"2061927901"},"language":"en","primary_location":{"id":"doi:10.1145/1294948.1294971","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1294948.1294971","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting","raw_type":"proceedings-article"},"type":"preprint","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/A5029815396","display_name":"Fanny Chevalier","orcid":"https://orcid.org/0000-0002-5585-7971"},"institutions":[{"id":"https://openalex.org/I15057530","display_name":"Universit\u00e9 de Bordeaux","ror":"https://ror.org/057qpr032","country_code":"FR","type":"education","lineage":["https://openalex.org/I15057530"]},{"id":"https://openalex.org/I4210142254","display_name":"Laboratoire Bordelais de Recherche en Informatique","ror":"https://ror.org/03adqg323","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I15057530","https://openalex.org/I4210142254","https://openalex.org/I4210159245","https://openalex.org/I4210160189"]},{"id":"https://openalex.org/I4210160189","display_name":"Institut Polytechnique de Bordeaux","ror":"https://ror.org/054qv7y42","country_code":"FR","type":"education","lineage":["https://openalex.org/I4210160189"]}],"countries":["FR"],"is_corresponding":true,"raw_author_name":"Fanny Chevalier","raw_affiliation_strings":["LaBRI, Bordeaux, France","LABRI, Bordeaux, France#TAB#"],"affiliations":[{"raw_affiliation_string":"LaBRI, Bordeaux, France","institution_ids":["https://openalex.org/I4210142254","https://openalex.org/I15057530","https://openalex.org/I4210160189"]},{"raw_affiliation_string":"LABRI, Bordeaux, France#TAB#","institution_ids":["https://openalex.org/I4210142254"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011581508","display_name":"David Auber","orcid":"https://orcid.org/0000-0002-1114-8612"},"institutions":[{"id":"https://openalex.org/I4210142254","display_name":"Laboratoire Bordelais de Recherche en Informatique","ror":"https://ror.org/03adqg323","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I15057530","https://openalex.org/I4210142254","https://openalex.org/I4210159245","https://openalex.org/I4210160189"]},{"id":"https://openalex.org/I4210160189","display_name":"Institut Polytechnique de Bordeaux","ror":"https://ror.org/054qv7y42","country_code":"FR","type":"education","lineage":["https://openalex.org/I4210160189"]},{"id":"https://openalex.org/I15057530","display_name":"Universit\u00e9 de Bordeaux","ror":"https://ror.org/057qpr032","country_code":"FR","type":"education","lineage":["https://openalex.org/I15057530"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"David Auber","raw_affiliation_strings":["LaBRI, Bordeaux, France","LABRI, Bordeaux, France#TAB#"],"affiliations":[{"raw_affiliation_string":"LaBRI, Bordeaux, France","institution_ids":["https://openalex.org/I4210142254","https://openalex.org/I15057530","https://openalex.org/I4210160189"]},{"raw_affiliation_string":"LABRI, Bordeaux, France#TAB#","institution_ids":["https://openalex.org/I4210142254"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5024074640","display_name":"Alexandru Telea","orcid":"https://orcid.org/0000-0003-0750-0502"},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Alexandru Telea","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands","Eindhoven University of Technology, Netherlands,"],"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]},{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands,","institution_ids":["https://openalex.org/I83019370"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5029815396"],"corresponding_institution_ids":["https://openalex.org/I15057530","https://openalex.org/I4210142254","https://openalex.org/I4210160189"],"apc_list":null,"apc_paid":null,"fwci":4.73786008,"has_fulltext":false,"cited_by_count":21,"citation_normalized_percentile":{"value":0.94677293,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"90","last_page":"97"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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/T12016","display_name":"Web Data Mining and Analysis","score":0.9872000217437744,"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/T10799","display_name":"Data Visualization and Analytics","score":0.98580002784729,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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.8123964071273804},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6562317609786987},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.6091005206108093},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5544334650039673},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5317427515983582},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.5266618132591248},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5170519948005676},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.49703529477119446},{"id":"https://openalex.org/keywords/metric","display_name":"Metric (unit)","score":0.4705163538455963},{"id":"https://openalex.org/keywords/software-evolution","display_name":"Software evolution","score":0.4539496898651123},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.4337523877620697},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4306018352508545},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.41803112626075745},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2745000720024109},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.2680453658103943},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.15069928765296936},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.0815039575099945}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8123964071273804},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6562317609786987},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.6091005206108093},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5544334650039673},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5317427515983582},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.5266618132591248},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5170519948005676},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.49703529477119446},{"id":"https://openalex.org/C176217482","wikidata":"https://www.wikidata.org/wiki/Q860554","display_name":"Metric (unit)","level":2,"score":0.4705163538455963},{"id":"https://openalex.org/C202105479","wikidata":"https://www.wikidata.org/wiki/Q265013","display_name":"Software evolution","level":5,"score":0.4539496898651123},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.4337523877620697},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4306018352508545},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.41803112626075745},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2745000720024109},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2680453658103943},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.15069928765296936},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0815039575099945},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1294948.1294971","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1294948.1294971","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting","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":23,"referenced_works":["https://openalex.org/W64415236","https://openalex.org/W1572143836","https://openalex.org/W1587010832","https://openalex.org/W1601774905","https://openalex.org/W1916339519","https://openalex.org/W1980482639","https://openalex.org/W2064972007","https://openalex.org/W2093648652","https://openalex.org/W2098241120","https://openalex.org/W2099410308","https://openalex.org/W2101284865","https://openalex.org/W2101579010","https://openalex.org/W2108789556","https://openalex.org/W2123319243","https://openalex.org/W2128782367","https://openalex.org/W2145218400","https://openalex.org/W2145544369","https://openalex.org/W2145640629","https://openalex.org/W2157532207","https://openalex.org/W2166278331","https://openalex.org/W2501442274","https://openalex.org/W6602616081","https://openalex.org/W6674603657"],"related_works":["https://openalex.org/W2077104824","https://openalex.org/W3176913510","https://openalex.org/W4389751695","https://openalex.org/W4310447811","https://openalex.org/W4249448758","https://openalex.org/W3012064729","https://openalex.org/W2388254906","https://openalex.org/W2955426500","https://openalex.org/W2786676889","https://openalex.org/W2146957318"],"abstract_inverted_index":{"We":[0,114],"present":[1],"a":[2,32,46,119,124],"method":[3,15],"to":[4,88,131],"detect":[5],"and":[6,50,53,110],"visualize":[7,99],"evolution":[8,101],"patterns":[9],"in":[10],"C++":[11,34],"source":[12,35],"code.":[13,36],"Our":[14,60],"consists":[16],"of":[17,31,102,126],"three":[18],"steps.":[19],"First,":[20],"we":[21,38,81,98],"extract":[22],"an":[23],"annotated":[24],"syntax":[25,42],"tree":[26],"(AST)":[27],"from":[28,129],"each":[29],"version":[30],"given":[33],"Next,":[37],"hash":[39],"the":[40,73,78,94,100,103],"extracted":[41],"nodes":[43],"based":[44],"on":[45,118],"metric":[47],"combining":[48],"structure":[49,105],"type":[51],"information,":[52],"construct":[54],"matches":[55],"(correspondences)":[56],"between":[57],"similar-hash":[58],"subtrees.":[59],"technique":[61,117],"detects":[62],"code":[63,104,112,121],"fragments":[64],"which":[65],"have":[66],"not":[67,92],"changed,":[68],"or":[69,91],"changed":[70],"little,":[71],"during":[72,93],"software":[74,95],"evolution.":[75,96],"By":[76],"parameterizing":[77],"similarity":[79],"metric,":[80],"can":[82],"flexibly":[83],"decide":[84],"what":[85],"is":[86],"considered":[87],"be":[89],"identical":[90],"Finally,":[97],"by":[106],"emphasizing":[107],"both":[108],"changing":[109],"constant":[111],"patterns.":[113],"demonstrate":[115],"our":[116],"versioned":[120],"base":[122],"containing":[123],"variety":[125],"changes":[127],"ranging":[128],"simple":[130],"complex.":[132]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
