Skip to main content

Assessing Refactoring Instances and the Maintainability Benefits of Them from Version Archives

  • Conference paper
Product-Focused Software Process Improvement (PROFES 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7983))

  • 2199 Accesses

Abstract

For the development of high quality software, process quality assessment should be applied into development organization. So far, several process quality assessment methodologies are proposed and applied into a lot of organizations. In this paper, we propose an approach to assess instances of refactoring that is one of the key processes for quality improvement. The proposed approach can be done semi-automatically by investigating version archives in a configuration management system. We applied our proposed method to the Columba project which is an open source software project. The result of our preliminary case study shows that the frequency of defect introduction tends to decrease in the term after frequent refactoring.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Bachmann, A., Bird, C., Rahman, F., Devanbu, P., Bernstein, A.: The missing links: bugs and bug-fix commits. In: Proc. the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2010), p. 97 (2010)

    Google Scholar 

  2. Bird, C., Bachmann, A., Aune, E., Duffy, J., Bernstein, A., Filkov, V., Devanbu, P.: Fair and balanced?: bias in bug-fix datasets. In: Proc. the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2009), pp. 121–130 (2009)

    Google Scholar 

  3. Fowler, M.: Refactoring home page, http://refactoring.com/

  4. Fowler, M.: Refactoring: improving the design of exsiting code. Addison Wesley (1999)

    Google Scholar 

  5. Kim, M., Cai, D., Kim, S.: An empirical investigation into the role of api-level refactorings during software evolution. In: Proc. the 33rd International Conference on Software Engineering (ICSE 2011), pp. 151–160 (2011)

    Google Scholar 

  6. Kula, R.G., Fushida, K., Kawaguchi, S., Iida, H.: Analysis of bug fixing processes using program slicing metrics. In: Ali Babar, M., Vierimaa, M., Oivo, M. (eds.) PROFES 2010. LNCS, vol. 6156, pp. 32–46. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  7. Murphy-Hill, E., Black, A.P., Dig, D., Parnin, C.: Gathering refactoring data: a comparison of four methods. In: Proc. the 2nd ACM Workshop on Refactoring Tools (WRT 2008), pp. 1–5 (2008)

    Google Scholar 

  8. Ohkura, K., Goto, K., Hanakawa, N., Kawaguchi, S., Iida, H.: Project replayer with email analysis – revealing contexts in software development. In: Proc. the 13th Asia Pacific Software Engineering Conference (APSEC 2006), pp. 453–460 (2006)

    Google Scholar 

  9. Ratzinger, J., Sigmund, T., Gall, H.C.: On the relation of refactorings and software defect prediction. In: Proc. the 5th Working Conference on Mining Software Repositories (MSR 2008), pp. 35–38 (2008)

    Google Scholar 

  10. Śliwerski, J., Zimmermann, T., Zeller, A.: When do changes induce fixes? In: Proc. the 2nd International Workshop on Mining Software Repositories (MSR 2005), pp. 1–5 (2005)

    Google Scholar 

  11. Weißgerber, P., Diehl, S.: Identifying refactorings from source-code changes. In: Proc. the 21st IEEE/ACM International Conference on Automated Software Engineering (ASE 2006), pp. 231–240 (2006)

    Google Scholar 

  12. Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: Proc. the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 54–65 (2005)

    Google Scholar 

  13. Xing, Z., Stroulia, E.: Refactoring Detection based on UMLDiff Change-Facts Queries. In: Proc. the 13th Working Conference on Reverse Engineering (WCRE 2006), pp. 263–274 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fujiwara, K., Fushida, K., Yoshida, N., Iida, H. (2013). Assessing Refactoring Instances and the Maintainability Benefits of Them from Version Archives. In: Heidrich, J., Oivo, M., Jedlitschka, A., Baldassarre, M.T. (eds) Product-Focused Software Process Improvement. PROFES 2013. Lecture Notes in Computer Science, vol 7983. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39259-7_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39259-7_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39258-0

  • Online ISBN: 978-3-642-39259-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics