Ijaerv13n6 99
Ijaerv13n6 99
Ijaerv13n6 99
3890-3897
© Research India Publications. http://www.ripublication.com
1
Azath. H, 2Dr. P. Amudhavalli, 3Dr. S. Rajalakshmi and 4Dr. M. Marikannan
1
Research Scholar, Karpagam Academy of Higher Education, Coimbatore, India.
Abstract: etc [3]. While evolution takes place in software, its structure
has a primary impact on enhancement intensive locations, for
Estimating software efforts poses high challenge to both
instance, enhancing the implemented functionality [14, 15].
customers and developers. When the estimated effort is not
Software cost and efforts estimation is become a challenge for
precise, the management may be in menace of agreeing
IT industries. There are lots of methods existing for efforts and
systems that may go beyond their budget, substandard with
cost estimation, but people do not know how to use these
poorly developed functions and time consuming more than
methods [22].
deadline. Hence, estimation of effort in an effective manner
has become a significant task in the software development The software quality models must have the ability to identify
process, despite various difficulties ahead in doing so. The crucial elements accurately. The elements that are determined
process also includes multiple steps to validate the minimized as crucial must allow the application for specific certification
error. This paper introduces a novel approach for effort tasks. The certification task may range from inspecting
estimation based on diverse databases. The approach exploits physically to static and dynamic analysis, testing and
neural network to aid in effort estimation with reduced cost automatic formal analysis techniques. The software quality
and failure ratio. The neural network, which is presented here, models also help in defining the reliability of the dispatched
is enhanced by incorporating optimization process. The products. Numerous statistical models have been reported to
optimization process selects weights for the neural network in estimate fault – proneness of program modules in software
such a way that improvement can be made on the classification engineering [4].
model. In our method, the optimization process is carried out
Software project management is responsible for precisely
using Artificial Bee Colony (ABC) algorithm. The
envisaging the work – effort and duration to develop and/or
performance of the proposed model is investigated using
manage a software system. The process is called software cost
parameters such as Mean Absolute Relative Error (MARE)
estimation [17], which is well-known for its significance on
and Mean Magnitude of Relative Error (MMRE). Performance
software project management. In order to make the managerial
comparison with existing models proves the competitive
decision making process a successful phenomenon, estimation
performance of the proposed model over the conventional
of software development effort must be accurate. Since the
models.
development cost is directly proportional to the project
complexity, the early stage of development requires precise
cost estimation [2]. It also acts as an essential component of
INTRODUCTION
infrastructure projects. Increased estimation accuracy helps the
The primary aim of software engineering can be portrayed as project managers to find alternatives and to get rid of
designing tools and techniques that aid in developing high underestimating technical and business solutions. When the
quality, steady and maintainable applications. Several project reaches the final stage, the accuracy of estimated cost
measurements are used by the developers and managers to will be high because of precise and comprehensive
validate and increase the quality of the application [7]. Any information at this stage [1].
software product on openly available source components
The process of software cost estimation by analogy can be said
depends on many business and technical targets such as
as a prominent machine learning methodology. It can also be
improved quality, short and firm development deadlines,
referred as a basic form of case based reasoning. The analogy
limited development expenditures, source code accessibility,
based estimation is performed on the basis of assumption that
3890
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
like software projects it incurs the same project costs. propagation algorithm has ensured better accuracy than other
Nevertheless, categorical variables on cost have to be handled methods.
by improved techniques [11]. Size, efforts to be put forth,
Reddy et al. [6] have introduced a model to estimate the
development duration, adopted technology and ensured quality
software effort. The model was based on artificial neural
are the potential subjects of estimation in software
network and designed in such a way that the network
development. Despite various effort models have been
performance can be adequately improved so as to meet the
introduced, they consider software size as significant
COCOMO model requirements. Multilayer feed forward
parameter, when the development effort has to be considered
neural network has been used for the model and its parameters,
as the most significant subject. For instance, function point is a
which has aided in estimating the software development effort.
measurement model of software size. It exploits logical
Back propagation learning has trained the network by iterative
function terms that make both users and owners understand
comparison of actual effort and network’s prediction, when a
easily. However, the measured size remains constant, because
training set has been given as input. The neural network model
it considers only the functional requirements irrespective of
has outperformed over other model in terms of estimation
the contribution of programming language, design technology
accuracy, when experimentation has been carried out on
and development skills [13].
COCOMO dataset.
The cost estimation process may face the following problems.
Though various research eras have crossed, no attempt has
Difficulty ahead in mapping cost – affecting factors been made to identify the most established software effort
with output metrics, because these factors exhibit estimation methods to ensure superior accuracy. Moreover, it
nonlinearity has been reported in the literature that there is no consistent
performance by any of M estimation methods that have been
Difficulties in measuring the metrics because of considered for study. Certain assertions have been made to
incompleteness and imprecision of data acquired at develop ensembles of various estimation methods rather than
initial stage identifying best estimation method. Ekrem et al. [8] have
Though numerous models prevail for estimation, introduced a method, which has unified nine learners with ten
challenges remain in identifying suitable model for preprocessing techniques so that 9 10 ¼ 90 solo methods can
the current circumstance and be developed. Experimentation has been carried out using 20
datasets and investigation has been done using seven error
Difficulties in combined usage of algorithmic and measurements. The experimental outcome has revealed top n
non – algorithmic models [12]. (here, n ¼ 13) individual methods, which have exhibited
Nowadays, the community is highly relying on information performance stability on varying datasets and error
technology and software systems. This necessitates an measurements. The obtained best 2, 4, 8, and 13 individual
appropriate estimation method as it has a wide impact on methods have been unified to produce 12 multi – methods that
project cost and quality. Numerous estimation models have have been further subjected to compare with the individual
been reported in the literature, where more researchers sill methods.
intend to formulate better estimation models [18]. The rest of Given a small significant content, there should be a concise
the paper is organized as follows. Section 2 presents a review information and minimal value added to the complex learning
report on recent research works. Section 3 details the proposed schemes. Ekrem et al. [9] have introduced a QUICK method,
methodology, which includes effort estimation using neural which has determined the Euclidean distance between
network and optimization process. Section 4 discusses the instances (rows) and features (columns) of SEE data. Further,
results of the proposed technique. it has pruned synonyms and outliers, which are similar
features and distant instances, respectively, followed by
evaluating the reduced data. The data reduction has been done
RELATED RESEARCHES by comparing predictions that have been obtained from (1) a
The focus on using soft computing techniques for estimating simple learner and (2) a state – of – the – art learner (CART),
software effort has been significantly increased through which used reduced data and collective data, respectively.
various research works. This Section presents the review on Performance investigation has been carried in hold – out
few of the methodologies. experiments using mean and median MRE, MAR, PRED and
MBRE.
Rao et al [5] have estimated cost using a computationally
efficient Functional Link Artificial Neural Network (FLANN). Since software cost estimation process estimates the amount of
By reducing the computational complexity, the neural net can effort and time to put forth to develop a software system, it is
be used for online applications. The network has exhibited a considered as the most significant process. It is also
simple architecture without any full back propagation training considered as a crucial task. A precise estimate can provide a
and hidden layer. The adaptive neural network has worked strong fundamental for the development procedure. Anupama
efficiently by firstly using COCOMO approach for estimating et al [10] have explained Constructive Cost Model
the software cost and then by using FLANN with backward (COCOMO), which is a renowned software cost estimation
propagation. The entire network has remained as “white box” model. Artificial neural network with perceptron learning
because of its comprehensive analysis on every neuron. The algorithm has facilitated the implementation of the model. The
simple architecture and appropriate training by back
3891
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
training and validation of the network have been carried out PROPOSED METHOD FOR SOFTWARE EFFORT
using COCOMO dataset. ESTIMATION
In the recent era, effort to put forth in a software project is the Software designing faces a significant task, called software
most analyzed variable and estimating the effort has been effort estimation, which is a process of estimating the effort to
found as the most tedious task in a project management put forth to construct a software system. However, the process
process. However, a software cost estimation technique of software effort estimation is a tedious task and hence it
facilitates this task by estimating the amount of effort to put remains as a potential research platform since past few
forth and development duration to construct the software decades. The cost and time estimates can be used for initial
system. It has been considered as a significant task to help the coarse validation and for monitoring the progress of project
software sectors in managing the development process development at the development stage, whereas, they can be
proficiently. Numerous cost estimation models have been used for evaluating the productivity of the project at the final
reported in the literature, where each model has portrayed its stage. As a whole, effort estimation aids in developing fulfilled
own merits and demerits in envisaging the development cost proficient software. Our method exploits soft computing for
and effort. Anupama et al. [16] have worked out on estimating estimating the software effort, where classification is
software cost using back propagation neural networks. The performed using neural network. The weights of the neural
developed model can cope up with renowned COCOMO network are optimized using optimization algorithm.
model and work for its performance improvement. It has the
ability to handle imprecision and uncertainty of the input and
to improve the reliability of the estimated software cost. The A.Steps involved in the Effort Estimation Process
experimentation of the model has been carried out on three
openly available software development datasets. Generally, various software parameters are used by the
estimation process to determine the effort to put forth for
The software cost estimation process is a difficult and time developing the particular software. Figure 1 portrays the steps
consuming task. Analogy – based estimation of software effort that constitute the proposed effort estimation process. The
has been claimed as one of the viable techniques in the field. dataset is comprised of numerous parameters that are used to
However, the method remains incapable in a circumstance of determine the actual and estimated efforts followed by
precise handling of categorical data. Initially, the software calculating MRE value. Consequently, these values are
effort estimation models were developed based on regression classified by applying classification process for which neural
analysis and mathematical models. But nowadays, the models network is used. It helps to identify the suitable parameter
are on the basis of simulation, soft computing, genetic value to perform the process. In our method, the neural
algorithm, neural network, fuzzy logic modeling, etc. Ziauddin network is enhanced by optimizing the weights using
et al. [17] have attempted to increase the software effort optimization algorithm. Here, ABC is used to solve the
estimation accuracy by exploiting fuzzy logic model. The purpose. Unifying ABC here helps in improving the
approach has fuzzified the input variables of COCOMO II classification process. Eventually, an effort value from the
model and defuzzified the output variable to obtain the classifier is obtained and it is considered as the near – best
estimated effort. The linguistic terms for COCOMO II model effort value with reduced error rates.
have been defined using triangular fuzzy membership
functions.
Software development effort estimation was considered a
fundamental task for software development life cycle as well
as for managing project cost, time and quality. Therefore,
accurate estimation was a substantial factor in projects success
and reducing the risks. In recent years, software effort
estimation has received a considerable amount of attention
from researchers and became a challenge for software
industry. In the last two decades, many researchers and
practitioners proposed statistical and machine learning-based
models for software effort estimation. Ghatasheh [23] have
proposed Firefly Algorithm as a metaheuristic optimization
method for optimizing the parameters of three COCOMO-
based models. These models include the basic COCOMO
model and other two models proposed in the literature as
extensions of the basic COCOMO model. The developed
estimation models are evaluated using different evaluation
metrics.
3892
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
The dataset is comprised of numerous parameter values that Employee Bee Phase
have to be subjected to classification. Hence, these values are
There are three bee groups in the artificial bee colony. They
applied to the neural network for classification of relevant
are employed bees, onlooker bees and scout bees. An
parameters. The following section details the classification
employed bee is a bee that flies back to its previously visited
process of neural network.
food source, whereas an onlooker bee is a bee resides in the
dancing area to decide on the food source to be selected. Scout
bees are bees that undergo random wandering for food source.
B. Training in Neural Network
The employed bees contribute the first half of the colony,
The software parameter values are acquired from the dataset whereas the rest is contributed by onlooker bees. Each
and given as input to the neural network classifier to perform employed bee contributes by a food source. In other words, the
classification. The general training of neural network enable number of food sources around the hive and the number of
mapping the input to a specific output. The neural network is employed bees is same.
highly compatible with the classification process. The feed
Initially, the employed bees select random set of food source
forward neural network is exploited in the training phase of
positions for which the nectar amounts are calculated. They
the proposed method. Comparison is made between the
reach the hive and distribute the nectar information of the food
parameter values and the input files followed by classifying
sources to the onlooker bees, which are in the dancing region
the suitable parameters. A neural network is comprised of
of the hive. In the perspective of algorithm, arbitrary set of
three layers namely, input layer, hidden layer and output layer.
The basic architecture of the feed forward neural network can initial population pi with n solutions, where each solution
be observed from Figure 2. is the food source position and S p is the population size is
generated. The solution representation can be given as
hi , where 1 i n is an N-dimensional vector and N is the
number of parameters to be optimized. Once the population is
initialized, it is subjected to the iterative process that involves
employed bees, onlooker bees and scout bees.
3893
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
stored in the memory and hence finds new food source and advantageous at the beginning stages of iterations, but it may
validates the nectar amount (fitness) of it. fail at the final stage of iterations. Hence, global search is
recommended for scout bee at the initial stage and local search
If we consider an old position g i ,k and a new position hi ,k , at the final stage of iterations. As there may not be any
the relationship can be given as improvement even from the best food source at the final
iterations, the scout bees are selected and removed from the
hi,k g i,k i,k ( g i,k g j ,k ), i j (2) population. Hence, ABC works out to determine the suitable
weight for each network node to increase the classification
Where, performance.
j {1,2,..., n}
k {1,2,..., N} RESULT AND DISCUSSION
The proposed method is implemented in Netbeans 7.4, which
i,k is an arbitrary number in the range [−1, 1]. is a renowned platform to use for effort estimation process
because of its compatibility. The platform offers variety of
The position update equation interprets that a decrease in the
applications that can be developed from a set of components,
deviation between the parameters of g i ,k and g j ,k leads to a which are often referred as modules. As Netbeans has the
decrease in the perturbation on the position g i ,k . Hence collective set of modules as built – in functions to develop
program, it is convenient for any user to initiate the work
adaptive reduction in the step length happens, when optimal immediately. The study considers Desharnais dataset, which
solution in the search space has reached. Reformulating the has 81 projects with incompleteness in 4 projects that can be
position updating step leads to the following equation. removed. There are nine independent variables and one
hi,k g i,k i,k ( g i,k g j ,k ) (3) dependant variable in the dataset.
Despite numerous error measures are in practice, the most
A time domain representation can be given for the position renowned error measure is Mean Absolute Relative Error
update equation by considering g i ,k as Xl when hi ,k is taken (MARE).
as X l 1 . Hence, we obtain
MARE n ( Ee Ae / Ae )
e 1
(6)
X l 1 X l i,k ( g i,k g j ,k ) (4)
where,
As X l 1 X l refers to discrete version of the derivative of E - Estimated effort
e
order 1 , we can write
A -Actual effort
D [ X l 1 ] i,k ( g i,k g j ,k ) (5) e
A. Experimental Results
Scout Bee phase
The obtained experimental outcomes from the proposed
The scout bees are the employed bees whose food sources are method are tabulated in Table 1. The actual effort and the
abandoned by the employed and onlooker bees. They search estimated efforts are determined for various sizes followed by
randomly and replace the abandoned food sources by new determining the Magnitude of Relative Error (MRE) for each
food sources. This process can be simulated by replacing the entry. The actual effort is typically lesser than the estimated
abandoned solution by randomly generated solution. A food effort. As per the equation (8) given below in the performance
source is said to be abandoned, when the position does not evaluation section, MMRE for the efforts are determined for
provide any improvements over a pre-defined number of the execution time
iterations, often termed as limits. A typical ABC algorithm
enables the scout bees to search the solutions arbitrarily within
the vicinity of the hive. This style of search may be
3894
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
B. Performance Analysis The MMRE calculation for the estimated effort can
be done using equation (7). The proposed method has
The equations that are given below are used to determine MRE
accomplished better MMRE than other fuzzy – based works.
and MMRE.
1 n
MRE ( Ae - Ee ) / Ae (7) MMRE MRE i (8)
n i 1
where,
where n= number of data * attributes taken
E - Estimated effort
e
A -Actual effort.
e
3895
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
3896
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3890-3897
© Research India Publications. http://www.ripublication.com
[2] Ch. Satyananda Reddy and KVSVN Raju, "An Optimal Adaptive Neuro Fuzzy use Case Size Point
Neural Network Model for Software Effort Estimation" (ANFUSP)", I.J. Intelligent Systems and Applications,
Int. J. of Software Engineering, IJSE Vol.3, No.1,2010. Vol.6, pp. 14-24,2012
[3] Heikki Orsila, Jaco Geldenhuys, Anna Ruokonen and [14] Parag C. Pendharkar, "Probabilistic estimation of
Imed Hammouda, "Update Propagation Practices in software size and effort", Expert Systems with
Highly Reusable Open Source Components", In. proc.of Applications, Vol. 37, pp.4435–4440,2010.
20th World Computer Congress on Open Source
[15] Andrzej Olszak, Eric Bouwers, Bo Nrregaard Jrgensen
Software, Milano, Italy, Vol. 275, pp.159-170, Sep 7-
and JoostVisser, "Detection of Seed Methods for
10, 2008.
Quantification of Feature Confinement", Inproc.of the
[4] Yue Jiang, Bojan Cukic and Yan Ma, “Techniques for 50th International Conference on Objects, Models,
Evaluating Fault prediction models”, Springer Journal Components, Patterns, 2012.
of Software Engineering, pp. 561–595, 2008.
[16] Anupama Kaushik, A.K. Soni and Rachna Soni, "A
[5] B. Tirimula Rao, B. Sameet, G. KiranSwathi, K. Simple Neural Network Approach to Software Cost
Vikram Gupta, Ch. Ravi Teja and S. Sumana, "A Novel Estimation", Global Journal of Computer Science and
Neural Network Approach for Software Cost Technology Neural & Artificial Intelligence, Vol.13,
Estimation Using Functional Link Artificial Neural No.1, 2013.
Network (FLANN)", International Journal of Computer
[17] Ziauddin, Shahid Kamal, Shafiullah khan and Jamal
Science and Network Security, VOL.9 No.6,2009.
Abdul Nasir, "A Fuzzy Logic Based Software Cost
[6] Ch. Satyananda Reddy and KVSVN Raju, "A Concise Estimation Model", International Journal of Software
Neural Network Model for Estimating Software Effort", Engineering and Its Applications, Vol. 7, No. 2,2013.
International Journal of Recent Trends in Engineering,
[18] Ihtiram Raza Khan and Prof. M. Afshar Alam,
Issue. 1, Vol. 1,2009.
"Software cost estimation using a Neuro-Fuzzy
[7] Jehad Al Dallal, "Mathematical Validation of Object- algorithmic approach", International Journal of
Oriented Class Cohesion Metrics", International Journal Computer Science and Management Research, Vol. 2
of Computers, Vol. 4, No.2, 2010. No.7,2013.
[8] Ekrem Kocaguneli, Tim Menzies, and Jacky W. Keung, [19] Dervis Karaboga, Bahriye Akay, A comparative study
"On the Value of Ensemble Effort Estimation", IEEE of Artificial Bee Colony algorithm, Journal of Applied
transactions on software engineering, Vol. 38, No. 6, Mathematics and Computation, Vol. 214, Pp. 108–132,
2012. 2009.
[9] Ekrem Kocaguneli, Tim Menzies, Jacky Keung, David [20] Dervis Karaboga and Celal Ozturk, Fuzzy clustering
Cok and Ray Madachy, "Active Learning and Effort with artificial bee colony algorithm, Journal of
Estimation:Finding the Essential Content of Software Scientific Research and Essays, Vol. 5, No. 14, pp.
Effort Estimation Data", IEEE Transactions on 1899-1902, 2010.
Software Engineering, Vol.39, No.8,2013.
[21] S.Malathi and Dr.S.Sridhar, "Estimation Of Effort In
[10] Anupama Kaushik, Ashish Chauhan, Deepak Mittal and Software Cost Analysis For Heterogenous Dataset
Sachin Gupta, "COCOMO Estimates Using Neural Using Fuzzy Analogy",International Journal of
Networks", I.J. Intelligent Systems and Applications, Computer Science and Information Security,Vol.10,
Vol.9, pp.22-28, 2012. No.10,2012.
[11] S.Malathi and Dr.S.Sridhar, "Estimation of Effort in [22] Poonam Rijwani, Sonal Jain and Dharmesh Santani,
Software Cost Analysis For Heterogenous Dataset "Software Effort Estimation: A Comparison Based
Using Fuzzy Analogy, “International Journal of Perspective", International Journal of Application or
Computer Science and Information Security,Vol.10, Innovation in Engineering & Management, Vol.3,
No.10, 2012. No.12, 2014.
[12] Divya Kashyap, Ashish Tripathi and Prof. A. K. Misra, [23] Nazeeh Ghatasheh, Hossam Faris, Ibrahim Aljarah and
"Software Development Effort and Cost Estimation: Rizik M. H. Al-Sayyed, "Optimizing Software Effort
Neuro-Fuzzy Model", Journal of Computer Estimation Models Using Firefly Algorithm”, Journal
Engineering, Vol.2, No.4, pp.12-14, 2012. of Software Engineering and Applications, Vol.8,
pp.133-142,2015.
[13] Mohammad Saber Iraji and Homayun Motameni,
"Object Oriented Software Effort Estimate with
3897