Traceability-the ability to follow the life of software artifacts-is a topic of great interest to software developers in general, and to requirements engineers and model-driven developers in particular. This article aims to bring those stakeholders together by providing an overview of the current state of traceability research and practice in both areas. As part of an extensive literature survey, we identify commonalities and differences in these areas and uncover several unresolved challenges which affect both domains. A good common foundation for further advances regarding these challenges appears to be a combination of the formal basis and the automated recording opportunities of MDD on the one hand, and the more holistic view of traceability in the requirements engineering domain on the other hand.Keywords Requirements engineering · Model-driven engineering · Model-driven development · Traceability
As with design patterns before, the naming and cataloguing of refactorings has contributed significantly to the recognition of the discipline. However, in practice concrete refactoring needs may deviate from what has been distilled as a named refactoring, and mapping these needs to a series of such refactorings -if at all possible -can be difficult. To address this, we propose a framework of specifying refactorings in an ad hoc fashion, and demonstrate its feasibility by presenting an implementation. Evaluation is done by simulating application through a user on a set of given sample programs. Results suggest that our proposal of ad hoc refactoring is, for the investigated scenarios at least, viable.
PROLOGUE"There is no substitute for the compiler and a good test suite for checking to see if a refactoring accidentally changes behavior of a system …" [anonymous reviewer, ASE 2012] "Program testing can be used to show the presence of bugs, but never to show their absence!" [EWD268]We think of refactoring tools as metaprograms that play in the same league as editors, debuggers, and version control systems.Few programmers would tolerate if one of these tools silently changed the behaviour of their programs, and we consider a refactoring tool which does so as flawed. With our work, we strive for a level of correctness beyond what "a good test suite" can ascertain.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.