Abstract.
In this paper, we describe the automated production of all interactions between the mechanics of seventy-two refactorings proposed by Fowler in the form of chains. Each chain represents the paths a specific refactoring may follow due to its dependencies on n possible other refactorings. We enumerate all possible chains and then investigate three hypotheses related firstly, to the number of chains generated by specific refactorings and their chain length, secondly, the relevance and applicability of a test taxonomy proposed by van Deursen and Moonen (vD&M) and, finally as to whether certain ‘server’ refactorings exist when those chains are scrutinized. Two of the proposed hypotheses were supported by the data examined, suggesting a far deeper complexity to refactoring inter-relationships than first envisaged. We also investigated the possibility that chains eradicate bad code smells.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
D. Advani, Y. Hassoun and S. Counsell. Extracting Refactoring Trends from Open-source Software and a Possible Solution to the ‘Related Refactoring’ Conundrum. Proceedings of ACM Symp. on Applied Computing, Dijon, France, April 2006.
M. Bruntink and A. van Deursen. An empirical study into class testability. Journal of Systems and Software, vol. 79, no. 9, pages 1219-1232, 2006.
S. Counsell, R. M. Hierons, R. Najjar, G. Loizou and Y. Hassoun. The Effectiveness of Refactoring Based on a Compatibility Testing Taxonomy and a Dependency Graph. Proc. of Testing: Academic and Industrial Conf. (TAIC PART), Windsor, UK, 2006, pp. 181-190. IEEE Computer Society Press.
S. Demeyer, S. Ducasse and O. Nierstrasz, Finding refactorings via change metrics, ACM Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA), Minneapolis, USA. pages 166-177, 2000.
A. van Deursen and L. Moonen. The Video Store Revisited - Thoughts on Refactoring and Testing. Proc of the third International Conference on eXtreme Programming and Flexible Processes in Software Engineering XP 2002, Sardinia, Italy.
A. van Deursen, L. Moonen, A. van den Bergh and G. Kok. Refactoring Test Code. In G. Succi et al., (eds.), XP Perspectives. Addison Wesley, 2002, pages 141-152.
B. Foote and W. Opdyke, Life Cycle and Refactoring Patterns that Support Evolution and Reuse. Pattern Languages of Programs (James O. Coplien and Douglas C. Schmidt, editors), Addison Wesley, May, 1995.
M. Fowler. Refactoring (Improving the Design of Existing Code). Addison Wesley, 1999.
R. Johnson and B. Foote. Designing Reusable Classes, Journal of OO Programming 1(2), pages 22-35. 1988.
J. Kerievsky, Refactoring to Patterns, Addison Wesley, 2004.
T. Mens and A. van Deursen. Refactoring: Emerging Trends and Open Problems. Proceedings First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE). University of Waterloo, 2003.
T. Mens and T. Tourwe. A Survey of Software Refactoring, IEEE Trans. on Software Engineering, 30(2): 126-139, 2004.
S. Mouchawrab, L. C. Briand and Y. Labiche, A Measurement Framework for Object-Oriented Software Testability, Journal of Information and Soft Technology, vol. 47, no. 15, pages 979-997, 2005.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer Science+Business Media B.V.
About this paper
Cite this paper
Counsell, S., Swift, S., Hierons, R.M. (2008). A Test Taxonomy Applied to the Mechanics of Java Refactorings. In: Sobh, T. (eds) Advances in Computer and Information Sciences and Engineering. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-8741-7_88
Download citation
DOI: https://doi.org/10.1007/978-1-4020-8741-7_88
Publisher Name: Springer, Dordrecht
Print ISBN: 978-1-4020-8740-0
Online ISBN: 978-1-4020-8741-7
eBook Packages: Computer ScienceComputer Science (R0)