{"id":"https://openalex.org/W2110331264","doi":"https://doi.org/10.1109/icsm.2012.6405259","title":"Rejuvenating C++ programs through demacrofication","display_name":"Rejuvenating C++ programs through demacrofication","publication_year":2012,"publication_date":"2012-09-01","ids":{"openalex":"https://openalex.org/W2110331264","doi":"https://doi.org/10.1109/icsm.2012.6405259","mag":"2110331264"},"language":"en","primary_location":{"id":"doi:10.1109/icsm.2012.6405259","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2012.6405259","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","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/A5040828430","display_name":"Aditya Kumar","orcid":"https://orcid.org/0009-0005-6532-0624"},"institutions":[{"id":"https://openalex.org/I91045830","display_name":"Texas A&M University","ror":"https://ror.org/01f5ytq51","country_code":"US","type":"education","lineage":["https://openalex.org/I91045830"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Aditya Kumar","raw_affiliation_strings":["Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","Computer Science Engineering, Texas A&M University, College Station, Texas-77840"],"affiliations":[{"raw_affiliation_string":"Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]},{"raw_affiliation_string":"Computer Science Engineering, Texas A&M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004695687","display_name":"Andrew M. Sutton","orcid":"https://orcid.org/0000-0003-1295-6715"},"institutions":[{"id":"https://openalex.org/I91045830","display_name":"Texas A&M University","ror":"https://ror.org/01f5ytq51","country_code":"US","type":"education","lineage":["https://openalex.org/I91045830"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew Sutton","raw_affiliation_strings":["Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","Computer Science Engineering, Texas A&M University, College Station, Texas-77840"],"affiliations":[{"raw_affiliation_string":"Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]},{"raw_affiliation_string":"Computer Science Engineering, Texas A&M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109807287","display_name":"Bjarne Stroustrup","orcid":null},"institutions":[{"id":"https://openalex.org/I91045830","display_name":"Texas A&M University","ror":"https://ror.org/01f5ytq51","country_code":"US","type":"education","lineage":["https://openalex.org/I91045830"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Bjarne Stroustrup","raw_affiliation_strings":["Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","Computer Science Engineering, Texas A&M University, College Station, Texas-77840"],"affiliations":[{"raw_affiliation_string":"Computer Science Engineering, Texas A&amp;M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]},{"raw_affiliation_string":"Computer Science Engineering, Texas A&M University, College Station, Texas-77840","institution_ids":["https://openalex.org/I91045830"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5040828430"],"corresponding_institution_ids":["https://openalex.org/I91045830"],"apc_list":null,"apc_paid":null,"fwci":6.586,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.96458977,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"98","last_page":"107"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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.9998999834060669,"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.9990000128746033,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9987999796867371,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.852418065071106},{"id":"https://openalex.org/keywords/rejuvenation","display_name":"Rejuvenation","score":0.7186464667320251},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.681331217288971},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.6152975559234619},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.48970678448677063},{"id":"https://openalex.org/keywords/work","display_name":"Work (physics)","score":0.4785105288028717},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.44173720479011536},{"id":"https://openalex.org/keywords/constant","display_name":"Constant (computer programming)","score":0.4216829836368561},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.39333927631378174},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.12670883536338806}],"concepts":[{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.852418065071106},{"id":"https://openalex.org/C112224295","wikidata":"https://www.wikidata.org/wiki/Q2297001","display_name":"Rejuvenation","level":2,"score":0.7186464667320251},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.681331217288971},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.6152975559234619},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.48970678448677063},{"id":"https://openalex.org/C18762648","wikidata":"https://www.wikidata.org/wiki/Q42213","display_name":"Work (physics)","level":2,"score":0.4785105288028717},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.44173720479011536},{"id":"https://openalex.org/C2777027219","wikidata":"https://www.wikidata.org/wiki/Q1284190","display_name":"Constant (computer programming)","level":2,"score":0.4216829836368561},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.39333927631378174},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.12670883536338806},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0},{"id":"https://openalex.org/C74909509","wikidata":"https://www.wikidata.org/wiki/Q10387","display_name":"Gerontology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/icsm.2012.6405259","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsm.2012.6405259","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","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/W21264886","https://openalex.org/W143162329","https://openalex.org/W217095982","https://openalex.org/W1498335309","https://openalex.org/W1525606436","https://openalex.org/W1574234259","https://openalex.org/W1574299664","https://openalex.org/W1600967053","https://openalex.org/W1965860954","https://openalex.org/W2006617204","https://openalex.org/W2009093319","https://openalex.org/W2010704926","https://openalex.org/W2018249485","https://openalex.org/W2036134187","https://openalex.org/W2055818134","https://openalex.org/W2068810256","https://openalex.org/W2084464227","https://openalex.org/W2097355277","https://openalex.org/W2101880963","https://openalex.org/W2113547509","https://openalex.org/W2116653607","https://openalex.org/W2117174233","https://openalex.org/W2120695061","https://openalex.org/W2131706255","https://openalex.org/W2133675710","https://openalex.org/W2134826995","https://openalex.org/W2143326878","https://openalex.org/W2144258665","https://openalex.org/W2158336266","https://openalex.org/W2171383742","https://openalex.org/W2171464342","https://openalex.org/W2187964623","https://openalex.org/W3004540582"],"related_works":["https://openalex.org/W644158932","https://openalex.org/W2001988634","https://openalex.org/W2270817182","https://openalex.org/W2261226822","https://openalex.org/W347929580","https://openalex.org/W2996645995","https://openalex.org/W269532133","https://openalex.org/W1998343965","https://openalex.org/W4402408539","https://openalex.org/W4402946938"],"abstract_inverted_index":{"We":[0,44,123],"describe":[1],"how":[2],"legacy":[3],"C++":[4,36,60,76],"programs":[5],"can":[6],"be":[7,42,87,103],"rejuvenated":[8],"using":[9,118],"C++11":[10,106],"features":[11],"such":[12],"as":[13],"generalized":[14],"constant":[15],"expressions,":[16],"perfect":[17],"forwarding,":[18],"and":[19,34,96],"lambda":[20],"expressions.":[21],"In":[22],"general,":[23],"this":[24],"work":[25],"develops":[26],"a":[27,47,54,73],"correspondence":[28],"between":[29,94],"different":[30],"kinds":[31],"of":[32,49,59,75,98],"macros":[33,101],"the":[35,57,64,69,80],"declarations":[37],"to":[38,52,72,78,82,128],"which":[39,83],"they":[40],"should":[41],"transformed.":[43],"have":[45,67],"created":[46],"set":[48],"demacrofication":[50],"tools":[51,71],"assist":[53,130],"developer":[55],"in":[56,131],"rejuvenation":[58,70,121,133],"programs.":[61],"To":[62],"evaluate":[63],"work,":[65],"we":[66],"applied":[68],"number":[74],"libraries":[77,85],"assess":[79],"extent":[81],"these":[84,112],"might":[86],"improved":[88],"by":[89],"demacrofication.":[90],"Results":[91],"indicate":[92],"that":[93],"68":[95],"98%":[97],"potentially":[99],"refactorable":[100],"could":[102],"transformed":[104],"into":[105],"declarations.":[107],"Additional":[108],"experiments":[109],"demonstrate":[110],"why":[111],"numbers":[113],"are":[114],"not":[115],"readily":[116],"achieved":[117],"fully":[119],"automated":[120],"tools.":[122],"also":[124],"discuss":[125],"some":[126],"techniques":[127],"further":[129],"automating":[132],"process.":[134]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":5},{"year":2015,"cited_by_count":5},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2016-06-24T00:00:00"}
