A Meta Level Data Mining Approach to Predict Software Reusability

Full Text (PDF, 218KB), PP.33-39

Views: 0 Downloads: 0

Author(s)

Chetna Gupta 1,* Megha Rathi 1

1. Jaypee Institute of Information Technology, Noida, India

* Corresponding author.

DOI: https://doi.org/10.5815/ijieeb.2013.06.04

Received: 1 Sep. 2013 / Revised: 7 Oct. 2013 / Accepted: 5 Nov. 2013 / Published: 8 Dec. 2013

Index Terms

Data mining, Software reuse, requirements engineering, situational method engineering, software reusability and prediction

Abstract

Software repositories contain wealth of information about software code, designs, execution history, code and design changes, bug database, software release and software evolution. To meet increased pressure of releasing updated or new versions of software systems due to changing requirements of stakeholder, software are rarely built from scratch. Software reusability is a primary attribute of software quality which aims to create new software systems with a likelihood of using existing software components to add, modify or delete functionalities in order to adapt to new requirements imposed by stakeholders. Software reuse using software components or modules provide a vehicle for planning and re-using already built software components efficiently. In this paper, we propose a framework for our approach to predict software reusable components from existing software repository on the basis of (1) stakeholders intention (requirement) match and (2) similarity index count for better reuse prediction. To effectively manage storage and retrieval of relevant information we use concept of situational method engineering to match and analyze the information for reuse. We use Genetic algorithm, Rabin Karp algorithm for feature selection and classification and k-means clustering methods of data mining to refine our results of prediction in order to better manage and produce high quality software systems within estimated time and cost.

Cite This Paper

Chetna Gupta, Megha Rathi, "A Meta Level Data Mining Approach to Predict Software Reusability", International Journal of Information Engineering and Electronic Business(IJIEEB), vol.5, no.6, pp.33-39, 2013. DOI:10.5815/ijieeb.2013.06.04

Reference

[1]Humphrey W S. The Future of Software Engineering: I [R]. Watts New Column, News at SEI, 2001, 4(1).

[2]Krishna T M., Vasumathi D. A Study of Mining Software Engineering Data and Software Testing [J]. Emerging Trends in Computing and Information Sciences, 2011, 2(11): 598-603.

[3]Laplante P A. What Every Engineer Should Know about Software Engineering [M]. Taylor & Francis Group, Boca Rotan, FL, 2007.

[4]Harmsen, F., Brinkkemper, S., Han, J L O. Situational Method Engineering for Information System Project Approaches [C]. In: Proceedings of the IFIP WG8.1 Working Conference on Methods and Associated Tools for the Information Systems Life Cycle (IFIP ’94), September 1994, 169-194.

[5]Gomes P., Bento C. A Case Similarity Metric for Software Reuse And Design [J]. Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 2001, 15(1.1): 21-35.

[6]McClure C. Software Reuse Techniques [M]. Prentic-Hall, Inc., 1997.

[7]Yu D. A view on Three R’s (3Rs): Reuse, Re-engineering, and Reverse Engineering [C]. Software Engineering Notes, July 1991, 16(3):69.

[8]Feiler P H. Reengineering: an engineering problem [R]. Software Engineering Institute, Carnegie Mellon University: Special Report, 1993.

[9]Kyo K C., Sholom C., Robert H., James P., Spencer P A. A Reuse-Based Software Development Methodology [R]. Application of Revisable Software Components Project Special Report, 1992.

[10]Smith E., AI-Yasiri A., Merabti M. A Multi-Tiered Classification Scheme for Component Retrieval [C]. In: Proceedings 24th Euromicro Conference, August 1998, 2:882 -889.

[11]Basili V R. Software Development: A Paradigm for the Future [C]. In: Proceedings of Computer Software and Applications Conference (COMPAC'89), September 1989, 471-485. 

[12]Basili V R., Rombach H. D. The TAME Project: Towards Improvement-Oriented Software Environments [J]. IEEE Transaction on Software Engineering, 1988, 14(6): 758-771. 

[13]Boehm B W., Ross R. Theory-W Software Project Management: Principles and Examples [J]. IEEE Transaction on Software Engineering, 1989, 15(7): 902-916.

[14]Boehm B W. A Spiral Model of Software Development and Enhancement [J] Computer, 1988, 21 (5):61 -72. 

[15]Griss M L. Software Reuse: From Library to Factory [J]. IBM Systems Journal, 1993, 32(4):548-566.

[16]Poulin, Yglesias K. Experiences with a faceted Classification Scheme in a Large Reusable Software Library (RSL) [C]. In: Proceedings 7th Annual International Computer Software and Applications Conference (COMPSAC '93), 1993, 90-99.

[17]Succi G., Benedicenti L, Vernazza T. Analysis of the Effects of Software Reuse on Customer Satisfaction in an RPG Environment [J]. IEEE Transaction on Software Engineering, 2001, 27(5): 473-479. 

[18]Boehm, B. Managing Software Productivity and Reuse [J]. Computer, 1999, 32(9):111 - 113.

[19]Frakes W B., Fox C J. Quality Improvement Using a Software Reuse Failure Modes Model [J]. IEEE Transaction on Software Engineering, 1996, 22(4): 274-279. 

[20]Griss M L., Wosser M. Making reuse work at Hewlett-Packard [J]. IEEE Software, 1995, 12(I):105 - 107. 

[21]Lim W. Effects of Reuse on Quality, Productivity, and Economics [J]. IEEE Software, 1994, II (5): 23-30.

[22]Meyer B. The Reusability Challenge [J]. IEEE Computer, 1996, 29(2): 76 -78. 

[23]Mili H., Mili F., Mil A. Reusing software: issues and research directions [J]. IEEE Transaction on Software Engineering, 1995, 21(6):528 - 562. 

[24]Gill N S. Importance of Software Component Characterization for Better Software Reusability [C].In: Proceeding of ACM SIGSOFT Software Engineering Notes, 2006, 31(I):1-3. 

[25]Jeffrey S. Poulin. Measuring Software Reusability [C]. In: Proceedings of the Third International Conference on Software Reuse, November 1994.

[26]Prieto-Diaz, Ruben, Freeman P. Classifying software for Reusability [J]. IEEE Software, 1987, 4(1):6-16.

[27]Selby, Richard W. Quantitative Studies of Software Reuse [J]. Software Reusability, 1989, II: 213-233.

[28]Chen, Deng-Jyi, Lee P J. On the Study of Software Reuse Using Reusable C++ Components [J]. Journal of Systems Software, 1993, 20(1):19-36.

[29]Caldiera, Gianluigi, Victor R. Basili. Identifying and Qualifying Reusable Software Components [J]. IEEE Software, 1991, 24(2): 61-70.

[30]Karlsson, Even-Andre, Sindre G., Stalhane T. Techniques for Making More Reusable Components [R]. REBOOT Technical Report, 1992.

[31]Hislop, Gregory W. Using Existing Software in a Software Reuse Initiative [A]. In; Proceedings of The Sixth Annual Workshop on Software Reuse, Owego, New York, 1993.

[32]Boetticher G., Srinivas K., Eichmann D. A Neural Net-based Approach to Software Metrics [C]. In: Proceedings of the 5th International Conference on Software Engineering and Knowledge Engineering, June 1993, 271-274.

[33]Torres, William R., Samadzadeh M H. Software Reuse and Information Theory Based Metrics [C]. In: Proceedings of Symposium on Applied Computing, Kansas City, April 1991, 437-46.

[34]Mayobre, Guillermo. Using Code Reusability Analysis to Identify Reusable Components from the Software Related to an Application Domain [A]. In: Proceedings of Fourth Annual Workshop on Software Reuse, Reston, 1991, 18-22.

[35]NATO. Standard for Management of a Reusable Software Component Library [R]. NATO Communications and Information Systems Agency, 1991.

[36]RAPID. RAPID Center Standards for Reusable Software [R]. U.S. Army Information Systems Engineering Command, 1990.

[37]Piper, Joanne C., Wanda L. Barner. The RAPID Center Reusable Components (RSCs) Certification Process [R]. U.S. Army Information Systems Software Development Center.

[38]Morisio M., Ezran M., Tully C. Success and Failure Factors in Software Reuse [J]. IEEE Transaction on Software Engineering, 2002, 28(4): 340-357.

[39]Bockle G, Lements P., McGregor J D., Muthig D., Schmid K. Calculating ROI for Software Product Lines [J]. IEEE Software, 2004, 21(3):23-31.

[40]Deelstra S., Sinnema M., Nijhuis J. Bosch J. COSV AM: A Technique for Assessing Software Variability in Software Product Families [C]. In: Proceedings 20th IEEE International Conference on Software Maintenance, Sept 2004, 458-462.

[41]Bosch J., Juristo N. Designing Software Architectures for Usability [C]. In: Proceedings 25th International Conference on Software Engineering, May 2003, 757-758.

[42]Bosch J. Architecture-Centric Software Engineering [C]. In: Proceedings 24th International Conference on Software Engineering, May 2002, 681-682. 

[43]Bosch J. Software Product Lines: Organizational Alternatives [C]. In: Proceedings 23rd International Conference on Software Engineering, May 2001, 91-100.

[44]Bosch J. Design and Use of Industrial Software Architectures [C]. In: Proceedings Conference on Technology of Object-Oriented Languages and Systems, June 1999, 404-404.

[45]Coplien J., Hoffman D., Weiss D. Commonality and Variability in Software Engineering [J]. IEEE Software, 1998, 15(6): 37-45.

[46]Esteva J C. Automatic Identification of Reusable Components [A]. In: Proceedings of 7th International Workshop Computer-Aided Software Engineering, Toronto, 1995, 80-87.

[47]Klein J., Price B., Weiss D. Industrial-Strength Software Product-Line Engineering [C]. In: Proceedings 25th International Conf. Software Engineering, May 2003, 751-752.

[48]Devanbu P T., Perry D E., Poulin J S. Guest Editors Introduction: Next Generation Software Reuse [J]. IEEE Transaction on Software Engineering, 2000, 26(5):423-424.

[49]Frakes W B., Kang K. Software Reuse Research: Status and Future [J]. IEEE Transaction on Software Engineering, 2005, 31(7): 529 - 536.

[50]Tomer A., Goldin L., Kuflik T., Kimchi E., Schach S R. Evaluating Software Reuse Alternatives: A Model and its Application to an Industrial Case Study [J]. IEEE Transaction on Software Engineering, 2004, 30(9):601-612.

[51]Rothenberger M A., Dooley K J., Kulkarni U R., Nada N. Strategies for Software Reuse: A Principal Component Analysis of Reuse Practices [J]. IEEE Transaction on Software Engineering, 2003, 29(9): 825-837.

[52]Lee N Y., Litecky C R. An Empirical Study of Software Reuse with Special Attention to Ada [J]. IEEE Transaction on Software Engineering, 1997, 23(9): 537-549.

[53]Kazman R, Abowd G., Bass L., Clements P. Scenario-Based Analysis of Software Architecture [J]. IEEE Software, 1996, 13(6): 47-55.

[54]Lanzi P L., P. di Milano. Fast Feature Selection with Genetic Algorithms: A Filter Approach [C]. In: Proceedings of IEEE International Conference on Evolutionary Computation, April 1997, 537-540.

[55]http://en.wikipedia.org/wiki/Rabin–Karp_algorithm.

[56]Kanungo T., Mount D. M., Netanyahu N. S., Piatko C. D., Silverman Wu A. Y. An Efficient k-Means Clustering Algorithm: Analysis and Implementation [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 881 – 892.

[57]Goldberg M K. Hayvanovych M., Ismail M. M. Measuring Similarity between Sets of Overlapping Clusters [C]. In: Proceedings of the 2010 IEEE Second International Conference on Social Computing (SOCIALCOM '10), 2010, 303-308.