شبکه های عملکردی به عنوان یک الگوی داده کاوی بدیع در پیش بینی تلاش های توسعه نرم افزار
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|22194||2011||8 صفحه PDF||سفارش دهید||5656 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Expert Systems with Applications, Volume 38, Issue 3, March 2011, Pages 2187–2194
This paper proposes a new intelligence paradigm scheme to forecast that emphasizes on numerous software development elements based on functional networks forecasting framework. The most common methods for estimating software development efforts that have been proposed in literature are: line of code (LOC)-based constructive cost model (COCOMO), function point (FP) based on neural networks, regression, and case-based reasoning (CBR). Unfortunately, such forecasting models have numerous of drawbacks, namely, their inability to deal with uncertainties and imprecision present in software projects early in the development life-cycle. The main benefit of this study is to utilize both function points and development environments of recent software development cases prominent, which have high impact on the success of software development projects. Both implementation and learning process are briefly proposed. We investigate the efficiency of the new framework for predicting the software development efforts using both simulation and COCOMO real-life databases. Prediction accuracy of the functional networks framework is evaluated and compared with the commonly used regression and neural networks-based models. The results show that the new intelligence paradigm predicts the required efforts of the initial stage of software development with reliable performance and outperforms both regression and neural networks-based models.
Software intelligence maintainability is defined as the ease of finding and correcting errors in the software. One of the most important issues encountered during the process of software development is a company’s ability to accurately estimate the efforts of the initial stage of development. Inaccurate estimation of development efforts lowers the proficiency of the project, wastes the company’s budget, and can result in failure of the entire project. This has promoted much research during the past three decades, to identify the factors that influence development effort (Ahmed et al., 2005, Boehm’s HYPERLINK Data, 1981, Finnie and Wittig, 1996, Heiat, 2002, Huang et al., 2007, Kadoda et al., 2000a, Kadoda et al., 2000b, Martin et al., 2005, Park and Baek, 2007 and van Koten and Gray, 2006). Many existing research papers have proposed various effort estimation techniques. Unfortunately no estimation technique has proved consistently accurate. For this reason there has been growing interest in recent years in exploring a variety of both data mining and machine learning schemes either as a complement or an alternative to existing models. One of the critical factors in software product quality is identifying how efficiently a software development process has been defined and deployed. A high-quality product could be produced by an individual’s effort once. But, without a well-defined development process, reproducing a software product of the same quality as its prior ones cannot be guaranteed. To maintain consistent quality of software, the need for a well-defined software development process is inevitable. The most common techniques that have been utilized in software effort estimation are: artificial neural networks (Heiat, 2002, Jun and Lee, 2001 and Park and Baek, 2007), neuro-fuzzy logic inference systems (Ahmed et al., 2005 and Martin et al., 2005), Bayesian statistics (van Koten & Gray, 2006), and case-based reasoning (Kadoda et al., 2000a and Kadoda et al., 2000b). Recently, functional network has been introduced by Castillo, 1998, Castillo et al., 1999, El-Sebakhy, 2004, El-Sebakhy et al., 2006 and El-Sebakhy et al., 2007 as a generalization of the standard neural network. This new computational intelligence paradigm is still a new framework and it was utilized once in the area of software engineering by El-Sebakhy (2008) to identify the software reliability. The results have shown that this novel approach is reliable and more accurate than the most common statistical and machine learning techniques, namely, feedforward neural networks and multiple linear regressions. The motivation behind this research is to investigate the capabilities of functional networks as a new intelligence paradigm scheme to predict and identify the software development efforts. The methodology and training algorithm process are explained in details below. The implementations were carried out on representative datasets related to the target systems. In addition, the comparative studies between the new intelligence scheme versus the existing models presented in van Koten and Gray (2006), which include regression-based, neural networks-based, and Bayesian belief network-based models, in terms of their performance measures values, as recommended in the literatures. Comparative studies will be carried out to measure the capabilities of this new paradigm in predicting the software development efforts and evaluate its performance against the most common and recently published data mining schemes. Despite the importance of software maintenance, it is unfortunate that little work has been done as regards developing predictive models for software maintainability, particularly object-oriented software system, which is evident in the fewer number of software maintainability prediction models, that are currently found in the literature. Quality is an important factor in the success of any software product. Defective software systems can cause software failures, increase maintenance cost, and decrease customer satisfaction. This in turn increases the interest in effective software defect prediction models. Defect prediction of object-oriented classes helps software engineers focus their quality assurance activities and assists managers allocate effort and resources more efficiently. The rest of this paper is organized as follows. Section 2 of this paper provides a brief literature review. The proposed functional networks intelligent system paradigm is described in detail in Section 3. Implementation of the proposed models is discussed in Section 4. Section 5 contains discussions of results while Section 6 presents conclusions and recommendations.
نتیجه گیری انگلیسی
This paper has proposed functional networks as a new intelligence system paradigm for software development and compared its performance with the one of both standard multilayer perceptron and nonlinear statistical regression schemes for software effort estimation. The results of this research indicate that functional networks learning scheme was competitive even better than both standard neural networks and multiple regression when a third generation language data set was used in the study. The performance was stable and it shows the smallest MAPE values. The results in both implementations (training and testing) shown that the performances of functional networks is reliable and outperforms the most common existing data mining learning schemes. We conclude that functional networks technique is shown a bright light performance for future use in different applications of software engineering areas, such as, maintainability, risk analysis, and software cost estimation. We suggest for future work to use different independent families other than polynomial and use more databases for software engineering quality assurance and do comparative studies versus other hybrid intelligence schemes, namely, adaptive neuro-fuzzy inference systems and ensemble learning.