TY - GEN
T1 - COPE
T2 - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016
AU - Dig, Danny
AU - Johnson, Ralph
AU - Marinov, Darko
AU - Bailey, Brian
AU - Batory, Don
N1 - We thank the anonymous reviewers for useful feedback. This research is partly funded by the NSF grants CCF-1439957 and CCF-1212683.
PY - 2016/5/14
Y1 - 2016/5/14
N2 - Software engineering involves a lot of change as code artifacts are not only created once but maintained over time. In the last 25 years, major paradigms of program development have arisen - agile development with refactorings, software product lines, moving sequential code to multicore or cloud, etc. Each is centered on particular kinds of change; their conceptual foundations rely on transformations that (semi-) automate these changes. We are exploring how transformations can be placed at the center of software development in future IDEs, and when such a view can provide benefits over the traditional view. COPE, a Change-Oriented Programming Environment, looks at 5 activities: (1) analyze what changes programmers typically make and how they perceive, recall, and communicate changes, (2) automate transformations to make it easier to apply and script changes, (3) develop tools that compose and manipulate transformations to make it easier to reuse them, (4) integrate transformations with version control to provide better ways for archiving and understanding changes, and (5) develop tools that infer higher-level transformations from lower-level changes. Characterizing software development in terms of transformations is an essential step to take software engineering from manual development to (semi-) automated development of software.
AB - Software engineering involves a lot of change as code artifacts are not only created once but maintained over time. In the last 25 years, major paradigms of program development have arisen - agile development with refactorings, software product lines, moving sequential code to multicore or cloud, etc. Each is centered on particular kinds of change; their conceptual foundations rely on transformations that (semi-) automate these changes. We are exploring how transformations can be placed at the center of software development in future IDEs, and when such a view can provide benefits over the traditional view. COPE, a Change-Oriented Programming Environment, looks at 5 activities: (1) analyze what changes programmers typically make and how they perceive, recall, and communicate changes, (2) automate transformations to make it easier to apply and script changes, (3) develop tools that compose and manipulate transformations to make it easier to reuse them, (4) integrate transformations with version control to provide better ways for archiving and understanding changes, and (5) develop tools that infer higher-level transformations from lower-level changes. Characterizing software development in terms of transformations is an essential step to take software engineering from manual development to (semi-) automated development of software.
UR - http://www.scopus.com/inward/record.url?scp=85026664344&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85026664344&partnerID=8YFLogxK
U2 - 10.1145/2889160.2889208
DO - 10.1145/2889160.2889208
M3 - Conference contribution
AN - SCOPUS:85026664344
T3 - Proceedings - International Conference on Software Engineering
SP - 773
EP - 776
BT - Proceedings - 5th International Workshop on Green and Sustainable Software, GREENS 2016
PB - IEEE Computer Society
Y2 - 14 May 2016 through 22 May 2016
ER -