Christopher Simons Chris.Simons@uwe.ac.uk
Occasional Associate Lecturer - CATE - CCT
It’s been some 25 years since ‘refactoring’ was suggested and is now central to programming practice. But how is refactoring conducted today compared to its original notions? After a quick recap on the original ideas of refactoring, this workshop explores the intent and principles of refactoring in contemporary practice, and also considers the robustness and (semi-) automated support provided by refactoring tools. This workshop is highly interactive, and highly driven by participants. The workshop begins with a short overview of how refactoring came about in the 1990s. Central to the impact of refactoring was tool support during development, and the suggestion that (semi-) automation could take away (at least) some of the tedium of repetitious restructuring. The workshop then forms small breakout groups to consider what the intent and principles of refactoring might be in a contemporary context. For example, the original intent of refactoring was to bring out design-level restructuring e.g. duplication avoidance. But is it now the case that refactoring relates to more fine-grained (code) changes. Moreover, the fundamental principle of refactoring is that restructuring is semantic preserving. But is this strictly necessary at a fine grained code level? Might minor changes in program behavior be tolerated for the sake of improved elegance in design and code? Findings are shared and discussed around the workshop. Next, the role of the automated tool support for refactoring is explored. For example, how robust is contemporary tool support? Are refactoring tools error free? Do they even introduce errors in design and code? After refactoring, is a simple syntax check sufficient? Also, how proactive are refactoring tools in their support? Should they be present in development IDEs, possibly as recommendation engines, or might they work offline from a command line, for example. For a second time, building on the ideas discussed, participants form into small breakout groups. Finally, the workshop brings together the findings of the participants for analysis and reflection.
Presentation Conference Type | Other |
---|---|
Conference Name | 2016 Annual Conference of the Association of C and C++ Users (ACCU) |
Start Date | Apr 20, 2016 |
End Date | Apr 23, 2016 |
Acceptance Date | Jan 1, 2016 |
Publication Date | Jan 1, 2016 |
Deposit Date | Apr 25, 2016 |
Publicly Available Date | Apr 25, 2016 |
Peer Reviewed | Peer Reviewed |
Keywords | refactoring, software Design |
Public URL | https://uwe-repository.worktribe.com/output/923276 |
Publisher URL | http://accu.org/index.php/conferences/accu_conference_2016/accu2016_sessions#Refactoring:_25_Years_On |
Additional Information | Title of Conference or Conference Proceedings : 2016 Annual Conference of the Association of C and C++ Users (ACCU) |
Contract Date | Apr 25, 2016 |
Refactoring 25 Years On v2.pdf
(4 Mb)
PDF
Using evolutionary computation to shed light on the effect of scale and complexity on object-orientedsoftware design
(2014)
Presentation / Conference Contribution
Cool and ripe for exploitation: Search-based software engineering
(2014)
Presentation / Conference Contribution
Interactive ant colony optimization (iACO) for early lifecycle software design
(2014)
Journal Article
Evolutionary computing frameworks for optimisation
(2017)
Journal Article
About UWE Bristol Research Repository
Administrator e-mail: repository@uwe.ac.uk
This application uses the following open-source libraries:
Apache License Version 2.0 (http://www.apache.org/licenses/)
Apache License Version 2.0 (http://www.apache.org/licenses/)
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search