In: Michele Marchesi, Giancarlo Succi (Hrsg.): Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, Genova, Italy, May 25-29, 2003: Proceedings: Lecture Notes in Computer Science, LNCS 2675, Springer-Verlag, S.271-278, 5/2003
While Extract Method is generally considered one of the most useful refactorings, the inverse refactoring Inline Method is so far only documented for removing methods whose bodies are as clear as their names. This paper outlines an approach how Inline Method may be used in changing method signatures and behavior. Furthermore, it proposes how the approach may simplify evolving published interfaces as well as merging parallel source code changes in next generation software config- uration management tools.
The copyright for this paper is held by Springer (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/27/inline-method-considered-helpful.pdf.
The paper uses the term interface evolution. With hindsight, it would have been more appropriate to use the common term API Evolution.
In: Michele Marchesi, Giancarlo Succi (Hrsg.): Extreme Programming and Agile Processes in Software Engineering, 4th International Conference, XP 2003, Genova, Italy, May 25-29, 2003, Proceedings, Lecture Notes in Computer Science, LNCS 2675, Springer-Verlag, S.431-432, 5/2003
Although test-driven development is a well established part of Extreme Programming, there are still unsolved issues if using it for library development or in team environments. This paper describes how these issues may be addressed by a software configuration management tool.
The copyright for this paper is held by Springer (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/28/software-configuration-management-for-test-driven-development.pdf.
The paper Towards Software Configuration Management for Test-Driven Development gives a more detailed overview of my research in 2003.
The paper was accepted for the Ph.D. Symposium of XP 2003. I could not do the presentation as I caught a nasty cold.
In: Bernhard Westfechtel, André van der Hoek (Hrsg.): Software Configuration Management, ICSE Workshops SCM 2001 and SCM 2003, Toronto, Canada, May 14-15, 2001, and Portland, OR, USA, May 9-10, 2003. Selected Papers, Lecture Notes in Computer Science, LNCS 2649, Springer-Verlag, S.267-273, 5/2003
Test-Driven Development is a technique where each change to the observable behavior of a program is motivated by a failing test. High design quality is maintained by continuous small design improve- ments called refactorings. While some integrated development environ- ments support automated refactoring, they do not handle problems that occur if refactorings are used in development teams or on published inter- faces. This paper outlines the idea of a specialized software configuration management tool which integrates into a development environment to record the steps of Test-Driven Development as operations. These oper- ations are useful for summarizing local changes, merging parallel changes and for migrating code that uses published interfaces.
The copyright for this paper is held by Springer (© Springer-Verlag). Download (PDF): http://tammofreese.de/assets/2003/5/9/towards-software-configuration-management-for-test-driven-development.pdf.
This article presents an overview of my PhD studies in 2003. In 2005, I narrowed my research topic to Refactoring-Aware Version Control. It does not include test-driven development anymore, because test results served only a base for a better representation of development steps done locally. They were not used for the core topics merging and API evolution.
The paper uses the term changing published interfaces. With hindsight, it would have been more appropriate to use the common term API Evolution.