
I.J. Information Technology and Computer Science, 2014, 02, 1-13 Published Online January 2014 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijitcs.2014.02.01 A Machine Learning based Efficient Software Reusability Prediction Model for Java Based Object Oriented Software Surbhi Maggo Jaypee Institute of Information Technology, Noida, India E-mail: [email protected] Chetna Gupta Jaypee Institute of Information Technology, Noida, India E-mail: [email protected] Abstract— Software reuse refers to the development of I. Introduction new software systems with the likelihood of completely or partially using existing components or resources with The role of computer software has changed or without modification. Reusability is the measure of significantly over past 50 years. A society that is highly the ease with which previously acquired concepts and dependent on software and increasingly intolerant of objects can be used in new contexts. It is a promising software failures has placed immense pressure on strategy for improvements in software quality, software professionals for the development of more and productivity and maintainability as it provides for cost more sophisticated and complex software systems. The effective, reliable (with the consideration that prior growth in the expected sizes of software systems testing and use has eliminated bugs) and accelerated required is exponential, even with the rise in the number (reduced time to market) development of the software of computer professionals and the rise in technology products. In this paper we present an efficient that provides for improved hardware and computing automation model for the identification and evaluation performance and vast increases in memory and storage of reusable software components to measure the capacity, it has become difficult to keep the rise in reusability levels (high, medium or low) of procedure software productivity in pace with the high demands for oriented Java based (object oriented) software systems. even more complex systems and maintenance of the The presented model uses a metric framework for the existing software. Several decades of intensive research functional analysis of the Object oriented software in fields of software engineering left software reuse as components that target essential attributes of reusability the only realistic and technically feasible approach to analysis also taking into consideration Maintainability bring about the desired improvements in quality and Index to account for partial reuse. Further machine productivity required by the software industry. learning algorithm LMNN is explored to establish Software reuse, although simple in concept (creation relationships between the functional attributes. The of new software systems using the existing software model works at functional level rather than at structural level. The system is implemented as a tool in Java and artifacts), it offers a great deal of potential in terms of the performance of the automation tool developed is software productivity and software quality [1]. The formal idea of software reuse instituted the development recorded using criteria like precision, recall, accuracy of industry of reusable software components and the and error rate. The results gathered indicate that the model can be effectively used as an efficient, accurate, industrialization of the production of application fast and economic model for the identification of software from off-the-shelf components, as proposed by Mcllory in [2]. Not only is reuse a promising strategy procedure based reusable components from the existing for increasing quality and productivity in the software inventory of software resources. industry, but a good software reuse process also provides for increased reliability and dependability, reduced process risk, decreased cost of implementation Index Terms— LMNN; Machine Learning; Metric; and time to market (accelerated development), effective Procedure Oriented; Reusability use of specialist and standard compliance [3]. Reusability also increases the likelihood that prior testing and use has eliminated bugs thus delivering error free software codes. Thus it can be stated that software reusability is a measure of the ease with which Copyright © 2014 MECS I.J. Information Technology and Computer Science, 2014, 02, 1-13 2 A Machine Learning based Efficient Software Reusability Prediction Model for Java Based Object Oriented Software previously acquired concepts and objects can be used in level rather than at structural level. The performance of new contexts [4]. The measure of this ease of reuse the automation tool developed namely, Java based depends on certain attributes that make a software Reusability Prediction Model using LMNN (JRPML), is artifact/asset less or more reusable. Certain attributes recorded using criteria like precision, recall, accuracy that increase the likelihood of reusability of a and error rate. The results gathered indicate that the component include high cohesion, loose coupling, model can be effectively used as an efficient, accurate, modularity, ease of understanding and modification, fast and economic model for the identification of separation of concerns and information hiding, proper procedure based reusable components from the existing documentation and low complexity [5]. inventory of software resources. For a long time since the introduction of the concept The remaining paper is organized as follows: In the of reuse, source code was considered the only software next section, related work is presented. Problem artifact that can be reused. Recently other software formulation and proposed automation model, products like algorithms, estimation templates, methodology is described in section 3 and 4 requirements, plan and design, documentation, human respectively. In section 5 we present some experimental interface, user manuals and test suites etc are being results of proposed JRPML tool implemented in Java. considered for reuse [6]. Software reusability has been Section 6 presents comparison results of JRPML with an active area of research in software engineering over other existing approaches including metrics used, the past 35 years but challenges and open questions still technique used results of precision, recall, accuracy and exists. Even with all the perceived benefits there are a classification error values etc. Section 7 discusses the number of risks and challenges associated with application of proposed approach and finally section 8 reusability like increased maintenance costs, lack of presents the conclusion. tool support, not-invented-here-syndrome [4], creating and maintaining a component library and finally finding, understanding and adapting reusable components. Reusing a non reusable component may cause severe II. Related Work loss in terms of time, cost and effort. Many researchers Over the years, various attempts have been made in have worked to reduce the risks associated with reuse the field of measuring reusability to help developers and make it faster, easier, more systematic, and an identify reusable software components. The initial era integral part of the normal process of programming. At of research, provided for a number of empirical the time of conception of reuse and its application in approaches in the form of metrics and metric suites for software industry researchers came up with a number of reusability measurement. Although this trend has empirical methods of measuring reusability of changed over last 5-7 years and concepts like data components based on different versions of complexity mining, machine learning, neural networks etc have and other metrics as mentioned in related work. come into picture, that have helped in better and more Although the focus of current research in the field of efficient identification of reusable components by software reuse is to establish meaningful relationships generating functions that establish meaningful between these metrics (reusability attributes) in order to relationships among various reusability attributes. generate reliable functions that can efficiently evaluate These domains use the earlier proposed metrics as the the reusability levels and identify reusable components. basis of reusability prediction and further generate Domains like data mining, machine learning, neural functions wherein these metrics collectively work networks etc. are very useful in generating such towards the determination of reusability. A functions. A tabular representation of many such summary/list of the earlier proposed empirical models proposed metrics and measures from literature is approaches and recently researched upon intelligent presented in section 2. approaches has been presented in Table 1 above. The presented work aims to systematize and ease The metrics presented in Table 1 use objective and software reusability process and reduce the risks quantifiable software attributes as their basis. Prieto- associated with it by providing for an efficient Diaz and Freeman [7] proposed 4 module-oriented automation model for software reusability prediction. metrics: program size, structure, documentation and The presented approach works for the identification and language and a fifth metric named reuse experience to evaluation of software components to measure the modify the first four. Selby [8] in his study identified a software reusability levels (low, medium and high) of number of reusability characteristics like simple function based object oriented
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages13 Page
-
File Size-