Skip to main content

Object-Oriented Software Systems Restructuring through Clustering

  • Conference paper
Artificial Intelligence and Soft Computing – ICAISC 2008 (ICAISC 2008)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 5097))

Included in the following conference series:

Abstract

It is well-known that maintenance and evolution represent important stages in the lifecycle of any software system (about 66% from the total cost of the software systems development). That is why in this paper we are focusing on the problem of automating an essential activity that appears in the maintenance and evolution of software systems: the problem of identifying refactorings that would improve the structure of the system. Refactoring is the process of improving the design of software systems, by improving their internal structure, without altering the external behavior of the code. The aim of this paper is to introduce a new clustering algorithm, CASYR (Clustering Algorithm for Software Systems Restructuring), that can be used for improving software systems design, by identifying the appropriate refactorings. The proposed approach can be useful for assisting software engineers in their daily work of refactoring software systems. We evaluate our approach on a real software system and we also provide a comparison with previous approaches.

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

References

  1. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)

    Google Scholar 

  2. Brown, W.J., Malveau, R.C., Hays, W., McCormick, I., Mowbray, T.J.: AntiPatterns: refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc., New York (1998)

    Google Scholar 

  3. Czibula, I., Serban, G.: Improving systems design using a clustering approach. International Journal of Computer Science and Network Security 6, 40–49 (2006)

    Google Scholar 

  4. Han, J.: Data Mining: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco (2005)

    Google Scholar 

  5. Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: a review. ACM Computing Surveys 31, 264–323 (1999)

    Article  Google Scholar 

  6. Simon, F., Loffler, S., Lewerentz, C.: Distance based cohesion measuring. In: Proceedings of the 2nd European Software Measurement Conference (FESMA), Technologisch Instituut Amsterdam, pp. 69–83 (1999)

    Google Scholar 

  7. Bieman, J.M., Kang, B.K.: Measuring design-level cohesion. Software Engineering 24, 111–124 (1998)

    Article  Google Scholar 

  8. Serban, G., Czibula, I.: On evaluating software systems design. Studia Universitatis “Babes-Bolyai”, Informatica LII, 55–66 (2007)

    MathSciNet  Google Scholar 

  9. Simon, F., Steinbrückner, F., Lewerentz, C.: Metrics based refactoring. In: CSMR 2001: Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, pp. 30–38. IEEE Computer Society, Washington, DC, USA (2001)

    Chapter  Google Scholar 

  10. (Digital Imaging and Communications in Medicine), http://medical.nema.org/

  11. (Health Level 7), http://www.hl7.org/

  12. (ObjectWeb: Open Source Middleware), http://asm.objectweb.org/

  13. DeMarco, T.: Structured analysis and system specification, pp. 529–560 (2002)

    Google Scholar 

  14. van Deursen, A., Moonen, L., van den Bergh, A., Kok, G.: Refactoring test code, 92–95 (2001)

    Google Scholar 

  15. Xing, Z., Stroulia, E.: Refactoring detection based on umldiff change-facts queries. WCRE, 263–274 (2006)

    Google Scholar 

  16. Dudzikan, T., Wlodka, J.: Tool-supported dicovery and refactoring of structural weakness. Master’s thesis, TU Berlin, Germany (2002)

    Google Scholar 

  17. Tahvildari, L., Kontogiannis, K.: A metric-based approach to enhance design quality through meta-pattern transformations. In: CSMR 2003: Proceedings of the Seventh European Conference on Software Maintenance and Reengineering, pp. 183–192. IEEE Computer Society, Washington, DC, USA (2003)

    Chapter  Google Scholar 

  18. Xu, X., Lung, C.H., Zaman, M., Srinivasan, A.: Program restructuring through clustering techniques. In: SCAM 2004: Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop on (SCAM 2004), pp. 75–84. IEEE Computer Society, Washington, DC, USA (2004)

    Chapter  Google Scholar 

  19. Lung, C.H.: Software architecture recovery and restructuring through clustering techniques. In: ISAW 1998: Proceedings of the third international workshop on Software architecture, pp. 101–104. ACM Press, New York (1998)

    Chapter  Google Scholar 

  20. Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: GECCO 2006: Proceedings of the 8th annual conference on Genetic and evolutionary computation, pp. 1909–1916. ACM Press, New York (2006)

    Chapter  Google Scholar 

  21. Gamma, E. (JHotDraw Project), http://sourceforge.net/projects/jhotdraw

  22. Mitchell, T.M.: Machine Learning. McGraw-Hill, New York (1997)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Leszek Rutkowski Ryszard Tadeusiewicz Lotfi A. Zadeh Jacek M. Zurada

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Şerban, G., Czibula, IG. (2008). Object-Oriented Software Systems Restructuring through Clustering. In: Rutkowski, L., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds) Artificial Intelligence and Soft Computing – ICAISC 2008. ICAISC 2008. Lecture Notes in Computer Science(), vol 5097. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69731-2_67

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69731-2_67

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69572-1

  • Online ISBN: 978-3-540-69731-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics