Abstract
Design defects are poor design choices resulting in a hard-to- maintain software, hence their detection and correction are key steps of a disciplined software process aimed at yielding high-quality software artifacts. While modern structure- and metric-based techniques enable precise detection of design defects, the correction of the discovered defects, e.g., by means of refactorings, remains a manual, hence error-prone, activity. As many of the refactorings amount to re-distributing class members over a (possibly extended) set of classes, formal concept analysis (FCA) has been successfully applied in the past as a formal framework for refactoring exploration. Here we propose a novel approach for defect removal in object-oriented programs that combines the effectiveness of metrics with the theoretical strength of FCA. A case study of a specific defect, the Blob, drawn from the Azureus project illustrates our approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Nierstrasz, O., Ducasse, S., Arévalo, G.: Lessons Learned in Applying Formal Concept Analysis to Reverse Engineering. In: Ganter, B., Godin, R. (eds.) ICFCA 2005. LNCS (LNAI), vol. 3403, pp. 95–112. Springer, Heidelberg (2005)
Brown, W.J., Malveau, R.C., Brown, W.H., McCormick III, H.W., Mowbray, T.J.: Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis, 1st edn. John Wiley and Sons, Chichester (1998)
Fenton, N., Pfleeger, S.L.: Software metrics: A rigorous and practical approach, 2nd edn. PWS Publishing Co., Boston (1997)
Fowler, M.: Refactoring – Improving the Design of Existing Code, 1st edn. Addison-Wesley, Reading (1999)
Guéhéneuc, Y.-G.: A reverse engineering tool for precise class diagrams. In: Singer, J., Lutfiyya, H. (eds.) Proceedings of the 14th IBM Centers for Advanced Studies Conference, pp. 28–41. ACM Press, New York (2004)
Huchard, M., Leblanc, H.: Computing interfaces in java. In: ASE, pp. 317–320 (2000)
Marinescu, R.: Detection strategies: Metrics-based rules for detecting design flaws. In: Proceedings of the 20th International Conference on Software Maintenance, pp. 350–359. IEEE Computer Society Press, Los Alamitos (2004)
Open source project. Azureus (June 2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moha, N., Rezgui, J., Guéhéneuc, YG., Valtchev, P., El Boussaidi, G. (2008). Using FCA to Suggest Refactorings to Correct Design Defects. In: Yahia, S.B., Nguifo, E.M., Belohlavek, R. (eds) Concept Lattices and Their Applications. CLA 2006. Lecture Notes in Computer Science(), vol 4923. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78921-5_20
Download citation
DOI: https://doi.org/10.1007/978-3-540-78921-5_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78920-8
Online ISBN: 978-3-540-78921-5
eBook Packages: Computer ScienceComputer Science (R0)