Abstract
The increasing use of reusable components during the process of software development in the recent times has motivated the researchers to pay more attention to the measurement of reusability. There is a tremendous scope of using various data mining techniques in identifying set of software components having more dependency amongst each other, making each of them less reusable in isolation. For object-oriented development paradigm, class coupling has been already identified as the most important parameter affecting reusability. In this paper an attempt has been made to identify the group of classes having dependency amongst each other and also being independent from rest of the classes existing in the same repository. The concepts of data mining have been used to discover patterns of reusable classes in a particular application. The paper proposes a three step approach to discover class associations rules for Java applications to identify set of classes that should be reused in combination. Firstly dynamic analysis of the Java application under consideration is performed using UML diagrams to compute class import coupling measure. Then in the second step, for each class these collected measures are represented as Class_Set & binary Class_Vector. Finally the third step uses apriori (association rule mining) algorithm to generate Class Associations Rules (CAR’s) between classes. The proposed approach has been applied on sample Java programs and our study indicates that these CAR’s can assist the developers in the proper identification of reusable classes by discovering frequent class association patterns.
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
Agrawal, R., Imielinski, T., Swami, A.: Mining Association Rules between Sets of Items in Large Databases. In: ACM, SIGMOD, pp. 207–216 (1993)
Arisholm, E.: Dynamic Coupling Measurement for Object-Oriented Software. IEEE Transactions on Software Engineering 30(8), 491–506 (2004)
Negandhi, G.: Apriori Algorithm Review for Finals, www.cs.sjsu.edu
Choi, M., Lee, J.: A Dynamic Coupling for Reusable and Efficient Software System. In: 5th IEEE International Conference on Software Engineering Research, Management and Applications, pp. 720–726 (2007)
Mitchell, A., Power, F.: Using Object Level Run Time Metrics to Study Coupling Between Objects. In: ACM Symposium on Applied Computing, pp. 1456–1462 (2005)
Gui, G., Scott, P.D.: Coupling and Cohesion Measures for Evaluation of Component Reusability. In: ACM International Workshop on Mining Software Repository, pp. 18–21 (2006)
Taha, W., Crosby, S., Swadi, K.: A New Approach to Data Mining for Software Design. In: 3rd International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications (2004)
Montes, C., Carver, D.L.: Identification of Data Cohesive Subsystems Using Data Mining Techniques. In: IEEE International Conference on Software Maintenance, pp. 16–23 (1998)
Xie, T., Acharya, M., Thummalapenta, S., Taneja, K.: Improving Software Reliability and Productivity via Mining Program Source Code. In: IEEE International Symposium on Parallel and Distributed Processing, pp. 1–5 (2008)
Gui, G., Scott, P.D.: Ranking reusability of software components using coupling metrics. Elsevier Journal of Systems and Software 80, 1450–1459 (2007)
Agrawal, R., Srikant, R.: Fast Algorithms for Mining Association Rules. In: 20th International Conference on Very Large Data Bases, pp. 487–499 (1994)
Thabtah, F.A., Cowling, P.I.: A greedy classification algorithm based on association rule. Elsevier journal of Applied Soft Computing 07, 1102–1111 (2007)
Zemirline, A., Lecornu, L., Solaiman, B., Ech-Cherif, A.: An Efficient Association Rule Mining Algorithm for Classification. In: Rutkowski, L., Tadeusiewicz, R., Zadeh, L.A., Zurada, J.M. (eds.) ICAISC 2008. LNCS (LNAI), vol. 5097, pp. 717–728. Springer, Heidelberg (2008)
Li, W., Han, J., Pei, J.: CMAR: Accurate and Efficient Classification Based on Multiple Class-Association Rules. In: International Conference on Data Mining, pp. 369–376 (2001)
Yin, X., Han, J.: CPAR: Classification based on Predictive Association Rules
Cosine Similarity Measure, http://www.appliedsoftwaredesign.com/cosineSimilarityCalculator.php
Lee, Y., Chang, K.H.: Reusability and. Maintainability Metrics for Object-Oriented Software. In: ACM 38th Annual Southeast Regional Conference, pp. 88–94 (2000)
Yacoub, S., Ammar, H., Robinson, T.: Dynamic Metrics for Object-Oriented Designs. In: IEEE 6th International Symposium Software Metrics, pp. 50–61 (1999)
Li, W., Henry, S.: Object Oriented Metrics that predict Maintainability. In: Technical Repot, Virginia Polytechnic Institute and State University (1993)
Shiva, S.J., Shala, L.A.: Software Reuse: Research and Practice. In: Proceedings of the IEEE International Conference on Information Technology, pp. 603–609 (2007)
Bhatia, P.K., Mann, R.: An Approach to Measure Software Reusability of OO Design. In: Proceedings of the 2nd National Conference on Challenges & Opportunities in Information Technology, pp. 26–30 (2008)
Eickhoff, F., Ellis, J., Demurjian, S., Needham, D.: A Reuse Definition, Assessment, and Analysis Framework for UML. In: International Conference on Software Engineering (2003), http://www.engr.uconn.edu/~steve/Cse298300/eickhofficse2003submit.pdf
Caldiera, G., Basili, V.R.: Identifying and Qualifying Reusable Software Components. IEEE Journal of Computer 24(2), 61–70 (1991)
Henry, S., Lattanzi, M.: Measurement of Software Maintainability and Reusability in the Object Oriented Paradigm. In: ACM Technical Report (1994)
Xie, T., Pei, J.: Data mining for Software Engineering, http://ase.csc.ncsu.edu/dmse/dmse.pdf
Cosine Similarity, http://en.wikipedia.org/wiki/Cosine_similarity
Gupta, V., Chhabra, J.K.: Measurement of Dynamic Metrics Using Dynamic Analysis of Programs. In: Proceedings of the Applied Computing Conference, pp. 81–86 (2008)
Michail, A.: Data Mining Library Reuse Patterns in User-Selected Applications. In: 14th IEEE International Conference on Automated Software Engineering, pp. 24–33 (1999)
Associations Rule, http://en.wikipedia.org/wiki/Association_rule_learning
Jaccard Index, http://en.wikipedia.org/wiki/Jaccard_index
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parashar, A., Chhabra, J.K. (2011). Mining Class Association Rules from Dynamic Class Coupling Data to Measure Class Reusability Pattern. In: Tan, Y., Shi, Y., Chai, Y., Wang, G. (eds) Advances in Swarm Intelligence. ICSI 2011. Lecture Notes in Computer Science, vol 6729. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21524-7_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-21524-7_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21523-0
Online ISBN: 978-3-642-21524-7
eBook Packages: Computer ScienceComputer Science (R0)