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...
Saved in:
Published in | Journal of software : evolution and process Vol. 29; no. 4 |
---|---|
Main Authors | , , , |
Format | Journal Article |
Language | English |
Published |
Chichester
Wiley Subscription Services, Inc
01.04.2017
|
Subjects | |
Online Access | Get 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 |