Skip to main content

A Test Taxonomy Applied to the Mechanics of Java Refactorings

  • Conference paper
Advances in Computer and Information Sciences and Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. M. Fowler. Refactoring (Improving the Design of Existing Code). Addison Wesley, 1999.

    Google Scholar 

  9. R. Johnson and B. Foote. Designing Reusable Classes, Journal of OO Programming 1(2), pages 22-35. 1988.

    Google Scholar 

  10. J. Kerievsky, Refactoring to Patterns, Addison Wesley, 2004.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. T. Mens and T. Tourwe. A Survey of Software Refactoring, IEEE Trans. on Software Engineering, 30(2): 126-139, 2004.

    Article  Google Scholar 

  13. 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics