Simplifying the construction of source code transformations via automatic syntactic restructurings

A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing t...

Full description

Saved in:
Bibliographic Details
Published inJournal of software : evolution and process Vol. 29; no. 4
Main Authors Newman, Christian D., Bartman, Brian, Collard, Michael L., Maletic, Jonathan I.
Format Journal Article
LanguageEnglish
Published Chichester Wiley Subscription Services, Inc 01.04.2017
Subjects
Online AccessGet full text

Cover

Loading…
Abstract A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing transformations require developers to account for a large number of syntactic cases, many of which are syntactically different but semantically equivalent. The work identifies classes of such syntactic variations and presents normalizing restructurings to simplify each variation to a single, consistent syntactic form. The normalizing restructurings for C++ are presented and applied to two open source systems for evaluation. The evaluation uses the system's test cases to validate that the normalizing restructurings do not affect the systems' tested behavior. In addition, a set of example transformations that benefit from the prior application of normalizing restructurings are presented along with a small survey to assess the effect of the readability of the resultant code.
AbstractList A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing transformations require developers to account for a large number of syntactic cases, many of which are syntactically different but semantically equivalent. The work identifies classes of such syntactic variations and presents normalizing restructurings to simplify each variation to a single, consistent syntactic form. The normalizing restructurings for C++ are presented and applied to two open source systems for evaluation. The evaluation uses the system's test cases to validate that the normalizing restructurings do not affect the systems' tested behavior. In addition, a set of example transformations that benefit from the prior application of normalizing restructurings are presented along with a small survey to assess the effect of the readability of the resultant code.
Abstract A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions of code into a single form to simplify the construction of large, complex program transformation rules. Current approaches to constructing transformations require developers to account for a large number of syntactic cases, many of which are syntactically different but semantically equivalent. The work identifies classes of such syntactic variations and presents normalizing restructurings to simplify each variation to a single, consistent syntactic form. The normalizing restructurings for C++ are presented and applied to two open source systems for evaluation. The evaluation uses the system's test cases to validate that the normalizing restructurings do not affect the systems' tested behavior. In addition, a set of example transformations that benefit from the prior application of normalizing restructurings are presented along with a small survey to assess the effect of the readability of the resultant code.
Author Bartman, Brian
Collard, Michael L.
Maletic, Jonathan I.
Newman, Christian D.
Author_xml – sequence: 1
  givenname: Christian D.
  surname: Newman
  fullname: Newman, Christian D.
  organization: Kent State University
– sequence: 2
  givenname: Brian
  surname: Bartman
  fullname: Bartman, Brian
  organization: Kent State University
– sequence: 3
  givenname: Michael L.
  surname: Collard
  fullname: Collard, Michael L.
  organization: The University of Akron
– sequence: 4
  givenname: Jonathan I.
  surname: Maletic
  fullname: Maletic, Jonathan I.
  email: jmaletic@kent.edu
  organization: Kent State University
BookMark eNp9kF9PwyAUxYmZiXMu8SOQ-OJLJ39aoI9m0WkyY-L0mVAG2mWFCa2m315qjW_Ky71cfvdwck7BxHlnADjHaIERIlexCQssKD4CU4JynvFc4Mlvz-kJmMe4Q-kwgoq8mIJqUzeHfW372r3C9s1A7V1sQ6fb2jvoLYy-C3oYbw1sg3LR-tCo4TXCj1pB1bV-uGsYe9cqPXTBjBJdSKrxDBxbtY9m_lNn4OX25nl5l60fV_fL63WmiSA4E5ZUhBPNTYkKXeptrpkotMEaEaaQ4oxtGRIVsYLQXFUIaWEUrYq0YwmndAYuRt1D8O9dsiB3ybtLX0pcMsoERimb_yghaIlZzstEXY6UDj7GYKw8hLpRoZcYySFqmaKWQ9QJzUb0s96b_k9Obh6evvkvOS6Caw
Cites_doi 10.1017/CBO9781139172752
10.1016/S0950-5849(02)00103-9
10.1109/ICSM.2010.5609719
10.1109/CSMR.2008.4493300
10.1109/CSMR.2010.33
10.1145/567097.567099
10.1007/978-3-642-28830-2_3
10.1016/S0950-5849(02)00104-0
10.1145/585058.585066
10.1007/3-540-45127-7_27
10.1145/1134285.1134311
10.1109/WSE.2012.6320536
10.1145/1480881.1480897
10.1145/1869459.1869497
10.1109/ICSM.2013.85
10.1109/SCAM.2009.28
10.1016/j.infsof.2006.10.012
10.1145/1215995.1216005
10.1016/S1571-0661(04)00032-5
10.1145/1932682.1869497
10.1109/SCAM.2011.19
ContentType Journal Article
Copyright Copyright © 2017 John Wiley & Sons, Ltd.
Copyright_xml – notice: Copyright © 2017 John Wiley & Sons, Ltd.
DBID AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1002/smr.1831
DatabaseName CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList
Computer and Information Systems Abstracts
Computer and Information Systems Abstracts
CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 2047-7481
EndPage n/a
ExternalDocumentID 4321430197
10_1002_smr_1831
SMR1831
Genre article
GroupedDBID .3N
.4S
.GA
.Y3
05W
0R~
10A
1OC
31~
33P
3SF
50Z
52O
52U
8-0
8-1
8-3
8-4
8-5
930
A03
AAESR
AAEVG
AAHHS
AANLZ
AAONW
AASGY
AAXRX
AAZKR
ABCUV
ABPVW
ACAHQ
ACBWZ
ACCFJ
ACCZN
ACPOU
ACXBN
ACXQS
ADBBV
ADEOM
ADIZJ
ADKYN
ADMGS
ADOZA
ADXAS
ADZMN
AEEZP
AEIGN
AEIMD
AEQDE
AEUQT
AEUYR
AFBPY
AFFPM
AFGKR
AFPWT
AFZJQ
AHBTC
AITYG
AIURR
AIWBW
AJBDE
AJXKR
ALMA_UNASSIGNED_HOLDINGS
ALUQN
AMBMR
AMYDB
ARCSS
ATUGU
AUFTA
AZBYB
AZFZN
BAFTC
BDRZF
BHBCM
BMNLL
BMXJE
BRXPI
BY8
D-E
D-F
DCZOG
DPXWK
DR2
DRFUL
DRSTM
EBS
EDO
EJD
F00
F01
F04
G-S
G.N
GODZA
HGLYW
HZ~
I-F
LATKE
LEEKS
LH4
LITHE
LOXES
LUTES
LW6
LYRES
MEWTI
MRFUL
MRSTM
MSFUL
MSSTM
MXFUL
MXSTM
N04
N05
O66
O9-
P2W
P2X
PQQKQ
Q.N
Q11
QB0
R.K
ROL
SUPJJ
TUS
W8V
W99
WBKPD
WIH
WIK
WOHZO
WXSBR
WYISQ
WZISG
~WT
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c2821-8f2b272c7e905c9cd4c685ce1c026a0a766d608b2f8234ab00c8ea3b572cf2733
IEDL.DBID DR2
ISSN 2047-7473
IngestDate Thu Oct 10 19:35:48 EDT 2024
Thu Oct 10 18:59:58 EDT 2024
Fri Aug 23 01:12:30 EDT 2024
Sat Aug 24 01:02:39 EDT 2024
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c2821-8f2b272c7e905c9cd4c685ce1c026a0a766d608b2f8234ab00c8ea3b572cf2733
PQID 1883916479
PQPubID 2034650
PageCount 18
ParticipantIDs proquest_journals_1963681018
proquest_journals_1883916479
crossref_primary_10_1002_smr_1831
wiley_primary_10_1002_smr_1831_SMR1831
PublicationCentury 2000
PublicationDate April 2017
2017-04-00
20170401
PublicationDateYYYYMMDD 2017-04-01
PublicationDate_xml – month: 04
  year: 2017
  text: April 2017
PublicationDecade 2010
PublicationPlace Chichester
PublicationPlace_xml – name: Chichester
PublicationTitle Journal of software : evolution and process
PublicationYear 2017
Publisher Wiley Subscription Services, Inc
Publisher_xml – name: Wiley Subscription Services, Inc
References 2010; 45
2012; (6940)
2001
2012
2011
2010
2002; 24
2002; 44
1998
2009
2008
2006
2005
2004
2015
2003
2013
2002
1996; 4
1999
2007; 49
e_1_2_12_3_1
e_1_2_12_6_1
e_1_2_12_5_1
e_1_2_12_19_1
e_1_2_12_18_1
e_1_2_12_2_1
e_1_2_12_17_1
e_1_2_12_16_1
e_1_2_12_20_1
e_1_2_12_21_1
e_1_2_12_22_1
e_1_2_12_23_1
e_1_2_12_24_1
e_1_2_12_25_1
e_1_2_12_26_1
e_1_2_12_27_1
e_1_2_12_28_1
e_1_2_12_29_1
e_1_2_12_30_1
e_1_2_12_15_1
e_1_2_12_14_1
e_1_2_12_13_1
e_1_2_12_12_1
Fowler M (e_1_2_12_4_1) 1999
e_1_2_12_8_1
e_1_2_12_11_1
e_1_2_12_7_1
e_1_2_12_10_1
e_1_2_12_9_1
References_xml – volume: (6940)
  start-page: 40
  year: 2012
  end-page: 59
– year: 2009
– start-page: 13
  year: 2005
  end-page: 18
– volume: 44
  start-page: 827
  year: 2002
  end-page: 837
  article-title: Source transformation in software engineering using the TXL transformation system
  publication-title: Inform Softw Technol
– start-page: 289
  year: 2002
  end-page: 292
– volume: 45
  start-page: 444
  year: 2010
  end-page: 463
  article-title: The spoofax language workbench: rules for declarative specification of languages and IDEs
  publication-title: SIGPLAN Not
– start-page: 196
  year: 2003
  end-page: 206
– volume: 4
  start-page: 35
  year: 1996
  end-page: 50
  article-title: ELAN: A logical framework based on computational systems
  publication-title: Electron Notes Theoretic Comp Sci
– year: 2001
– year: 2006
– year: 2004
– volume: 24
  start-page: 334
  year: 2002
  end-page: 368
  article-title: Compiling language definitions: the ASF + SDF compiler
  publication-title: ACM Trans Program Lang Syst
– start-page: 1
  year: 2013
  end-page: 4
– start-page: 10
  year: 2011
– volume: 44
  start-page: 767
  year: 2002
  end-page: 782
  article-title: The documentary structure of source code
  publication-title: Infor Softw Technol
– start-page: 53
  year: 2008
  end-page: 62
– volume: 49
  start-page: 275
  year: 2007
  end-page: 291
  article-title: Case study: re‐engineering C++ component models via automatic program transformation
  publication-title: Inform Softw Technol
– start-page: 34
  year: 2002
  end-page: 41
– year: 2015
– year: 2010
– year: 1998
– year: 2013
– year: 1999
– year: 2012
– ident: e_1_2_12_5_1
  doi: 10.1017/CBO9781139172752
– ident: e_1_2_12_23_1
  doi: 10.1016/S0950-5849(02)00103-9
– ident: e_1_2_12_2_1
  doi: 10.1109/ICSM.2010.5609719
– ident: e_1_2_12_27_1
– ident: e_1_2_12_7_1
  doi: 10.1109/CSMR.2008.4493300
– ident: e_1_2_12_29_1
  doi: 10.1109/CSMR.2010.33
– ident: e_1_2_12_15_1
  doi: 10.1145/567097.567099
– ident: e_1_2_12_20_1
  doi: 10.1007/978-3-642-28830-2_3
– ident: e_1_2_12_13_1
  doi: 10.1016/S0950-5849(02)00104-0
– ident: e_1_2_12_12_1
– ident: e_1_2_12_26_1
  doi: 10.1145/585058.585066
– ident: e_1_2_12_17_1
  doi: 10.1007/3-540-45127-7_27
– ident: e_1_2_12_21_1
  doi: 10.1145/1134285.1134311
– ident: e_1_2_12_6_1
– ident: e_1_2_12_8_1
  doi: 10.1109/WSE.2012.6320536
– ident: e_1_2_12_24_1
  doi: 10.1145/1480881.1480897
– ident: e_1_2_12_9_1
– ident: e_1_2_12_19_1
  doi: 10.1145/1869459.1869497
– ident: e_1_2_12_28_1
  doi: 10.1109/ICSM.2013.85
– ident: e_1_2_12_14_1
  doi: 10.1109/SCAM.2009.28
– volume-title: Refactoring: Improving the Design of Existing Code
  year: 1999
  ident: e_1_2_12_4_1
  contributor:
    fullname: Fowler M
– ident: e_1_2_12_22_1
  doi: 10.1016/j.infsof.2006.10.012
– ident: e_1_2_12_10_1
  doi: 10.1145/1215995.1216005
– ident: e_1_2_12_11_1
– ident: e_1_2_12_16_1
  doi: 10.1016/S1571-0661(04)00032-5
– ident: e_1_2_12_18_1
  doi: 10.1145/1932682.1869497
– ident: e_1_2_12_25_1
  doi: 10.1109/SCAM.2011.19
– ident: e_1_2_12_30_1
– ident: e_1_2_12_3_1
SSID ssj0000620545
Score 2.0960937
Snippet A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific portions...
Abstract A set of restructurings to systematically normalize selective syntax in C++ is presented. The objective is to convert variations in syntax of specific...
SourceID proquest
crossref
wiley
SourceType Aggregation Database
Publisher
SubjectTerms adaptive maintenance
C++ (programming language)
Normalizing
restructuring
syntactic isomorphism
Syntax
Systems analysis
transformation
Transformations
Title Simplifying the construction of source code transformations via automatic syntactic restructurings
URI https://onlinelibrary.wiley.com/doi/abs/10.1002%2Fsmr.1831
https://www.proquest.com/docview/1883916479
https://www.proquest.com/docview/1963681018
Volume 29
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3PS8MwFA7iyYvzJ85fRBBv3do0TdKjiEMEPWwOBA8lSRsY4ia2CvrX-17ablMUxFMPyUvbvLzkS3jfF0JOE5T9ijkLCmFUwF2UB1pJF8g8CXMVOWcVEoVvbsXVmF_fJ_dNViVyYWp9iPmBG0aGn68xwLUp-wvR0PLppQfjEXc-qKOHeGjI5scroWAARjCBkaEWAYDmuJWeDVm_tf26GC0Q5jJO9QvNoEMe2k-s80see6-V6dmPb-qN__uHDbLe4E96Xg-YTbJSTLdIp73bgTahvk3MaIK55p4FRQEkUjtbaM3SmaP1qT9FSjytltAvVKNvE031azXzcrC0fJ9WnopF8R4QbMJTI8sdMh5c3l1cBc19DIGFjVkUKMcMk8zKIg0Tm9qcW6ESW0QWNnI61FKIXITKMKdYzDUENDhaxyYBGwcwKd4lq9PZtNgjVAvJbVzImFnGJVinIk9EmnIWGZeHqktOWsdkz7XsRlYLLLMMOi3DTuuSw9ZjWRN4JRQopBJzmf5cDPMNKrBF8IYz75lfm89GN0N87v-14gFZY7jm-7SeQ7IKHVocAWKpzLEfm591aumj
link.rule.ids 315,786,790,1382,27955,27956,46327,46751
linkProvider Wiley-Blackwell
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1bS8MwFA5jPuiL84qXqRHEt25tmiYpPok65mU-bAo-CKVNGxCxE9cJ-us9J103FQXxqQ-5tM3Jl3w5nPOFkIMAZb98zpxMJMrhxkudWEnjyDRwU-UZoxUmCveuRfeWX9wFdzVyVOXClPoQU4cbIsOu1whwdEi3Z6qho6eXFkxIOPrMAdoDROVpn00dLK5gQEcwhJGhGgHQZr8Sn3VZu2r8dTuacczPTNVuNZ0Gua8-sowweWyNi6Sl37_pN_7zL5bI4oSC0uNyziyTWpavkEZ1vQOdoH2VJIMHDDe3iVAUeCLVw5ncLB0aWjr-KWbF0-ITAYZq9PUhpvG4GFpFWDp6ywubjUXxKhDswmZHjtbIbefs5qTrTK5kcDSczTxHGZYwybTMQjfQoU65FirQmafhLBe7sRQiFa5KmFHM5zFgGmwd-0kAbQwwJX-d1PNhnm0QGgvJtZ9Jn2nGJbQORRqIMOTMS0zqqk2yX1kmei6VN6JSY5lFMGgRDtomaVYmiybYG0GBwmxiLsOfi2HJQRE2D95waE3za_fRoNfH59ZfK-6R-e5N7yq6Or--3CYLDCmAjfJpkjoMbrYDBKZIdu1E_QAT0O3D
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1bS8MwFA6iIL54Fy9TI4hv3do0TdJHcQ7viHMw8KG0aQND3IbrBP31npO22xQF8akPubTNyUm-E873hZDjAGW_fM6cTCTK4cZLnVhJ48g0cFPlGaMVEoVv78RFh191g26ZVYlcmEIfYnLghp5h12t08GFqGlPR0NHLax3mI0Q-C1z4DAOv5gObnK-4ggEawQxGhmIEgJr9SnvWZY2q8dfdaAoxZ4Gq3WlaK-Sp-sYiweS5Ps6Tuv74Jt_4v59YJcslAKWnxYxZI3NZf52sVJc70NLXN0jS7mGyuaVBUUCJVA-mYrN0YGhx7E-RE0_zGfgL1ehbL6bxOB9YPVg6eu_nlotF8SIQ7MJyI0ebpNM6fzy7cMoLGRwNkZnnKMMSJpmWWegGOtQp10IFOvM0RHKxG0shUuGqhBnFfB6DR4OlYz8JoI0BnORvkfn-oJ9tExoLybWfSZ9pxiW0DkUaiDDkzEtM6qodclQZJhoWuhtRobDMIhi0CAdth9Qqi0Wl542gQCGXmMvw52JYcFCCzYM3nFjL_Np91L59wOfuXyseksX7Ziu6uby73iNLDPd_m-JTI_Mwttk-oJc8ObDT9BNmhexy
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Simplifying+the+construction+of+source+code+transformations+via+automatic+syntactic+restructurings&rft.jtitle=Journal+of+software+%3A+evolution+and+process&rft.au=Newman%2C+Christian+D.&rft.au=Bartman%2C+Brian&rft.au=Collard%2C+Michael+L.&rft.au=Maletic%2C+Jonathan+I.&rft.date=2017-04-01&rft.issn=2047-7473&rft.eissn=2047-7481&rft.volume=29&rft.issue=4&rft.epage=n%2Fa&rft_id=info:doi/10.1002%2Fsmr.1831&rft.externalDBID=10.1002%252Fsmr.1831&rft.externalDocID=SMR1831
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2047-7473&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2047-7473&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2047-7473&client=summon