# REBEE -Reusability Based Effort Estimation Technique using Dynamic Neural Network Keywords-Software Effort Estimation, Reusability, Dynamic Neural Networks, Fuzzy Logic, REBEE. or over two decades now researchers have developed varied methods to estimate the software effort required to complete a software development project but till date no conclusive method has evolved. Software Effort Estimation is vital to arrive at development effort required for Project Management. Effective software effort estimation techniques not only enable fruitful resource allocation, resource scheduling, risk assessment but also assist in project monitoring. Effective Effort Estimation techniques are useful for fiscal estimates and delivery timelines too. Effort Estimation techniques could be broadly classified as ? Parametric Effort Estimation Techniques The Parametric effort estimation technique assumes the Software Development Cycle to be completely sequential and automated. The software effort required is calculated based on a set of parameters. Once the effort estimated is derived the stringent processes are followed to meet the timelines. The parametric effort estimation technique neglects the variance in the learning, execution and programming capabilities of every individual involved in the project. Technology dynamics also cannot be analyzed using the parametric effort estimation model. About ? -Computer Engineering Department, Govt. College of Engineering & Technology, Jammu, India E-mail : jyoti_1972@sify.com About ? -Department of Computer Science & IT, University of Jammu, India E-mail : padhadevanand@yahoo.co.in About ? -Planet-i-Technologies, Bangalore, India E-mail : kashyap@vardhanatech.com ? Top down approach based effort estimation techniques. The top down approach considers the entire project as a whole and defragments it into various smaller units. Effort Estimations are carried out for the fragments mainly based on expert judgment. The top down approach does not account for technological changes, future uncertainties and risk mitigation techniques. ? Bottom up approach based effort estimation techniques The bottom up approach considers using smaller project modules for the construction of the entire project. The entire effort estimation is a summation of the efforts involved in the smaller modules. This approach has drawbacks similar to the top down approach discussed above. ? Analogy Based Approach for effort estimation The analogy based approach for effort estimation could be considered effective as it is capable to handle dynamics of technological platform transformations, varied human behavior, risk mitigation techniques etc. Prior knowledge about similar projects leads to effective estimation in this approach. The software industry has experienced tremendous growth over the past decade. Currently Software development contracts are awarded to organizations having a previous experience in handling similar project or related projects. This is done in order to assure quality, reliability, financial security and most importantly timely delivery. Surveys conducted have found that many of these projects fail [1]. Some of the projects encounter effort overruns or schedule overruns sometimes both, due to un-appropriate estimation technique used [2] though prior experience and knowledge is available. This paper proposes a Reusability Based Effort Estimation Technique (REBEE) to address the issue. REBEE embodies a Neuro-Fuzzy engine for estimation. To handle the dynamics of all the parameters involved in Software Effort Estimation Dynamic Neural Networks is used. The manuscript is organized as follows. Section 2 describes the existing Effort Estimations Techniques used. Section 3 describes the prominence of reusability and its effects. Dynamic Neural Networks used in the REBEE is discussed in Section 4. Section 5 discusses the REBEE model. Section 6 provides a practical # INTRODUCTION application example. The paper conclusions with summary and recommendations are provided in Section7. It can be stated that Delivery Time ? Effort Required ????.. ( 1) Software Effort Estimation form it emergence has been achieved using various methodologies. COCOMO [3] and COCOMO 2.0 [4], DELPHI [5], Function Point [6], Planning Poker[7], Use Case Point [8],Expert judgment [9], IBM -FSD [10] based estimation techniques are commonly used. All these models established have drawbacks leading to gross error of estimation. Researchers have used additional techniques along with these to achieve improved efficiency. COCOMO with effort adjustment factor [11] provided about 30% improvement in effort variance. COCOMO used with fuzzy logic, trapezoidal function and Gaussian functions showed improved performance [12].As the regularly used estimation techniques failed to provide consistency when tested against several cases. Multiple software effort estimation techniques were integrated and their combinations were linearly weighed providing better results [13]. A clustering approach bundled with Support Vector regression was found to provide good estimation accuracy [14]. The Mantel's correlation randomization test named Analogy-X greatly improved the estimation algorithm performance [15].The after effects of Schedule and Budget pressure on Effort Estimation and the development cycle time has been closely studied [16]. Chronological Splits have to be carefully assigned for effective training and testing purposes [17]. Judgment Based Systems [18] and recommendation based[19] effort estimation techniques provided satisfactory effort predictions. Global Software Developments being executed at diverse locations worldwide also encounter inaccurate estimation techniques [20]. With numerous efforts estimation techniques available and none providing homogenous results it becomes difficult to decide whether formal models like COCOMO etc or human judgment based systems could be considered ideal for developing effort estimation models [21]. A combination of judgment based and formal based models could be considered as a ideal solution. REBEE proposed in this paper is a combination of formal models developed using dynamic neural networks in addition to judgment based reusability matrices which is discussed in the next section. Effort Estimation is a prominent feature of the software development cycle. As studied none of the existing models could effectively predict the software effort for varied types of software projects. The software industry is matured and experience in handling similar kind of projects has provided for additional software development projects of similar nature being offered to organizations. These organizations face a mammoth task of effort estimation. Conventional formal models do not predict the effort accurately as they have not incorporated the Reusability Factor within them. Most of the forms of software development would consist of reusable components like dynamic link libraries, functions, test cases ,web services , etc. Reusability of codes is analyzed seriously by software development organizations that are also considered for appraisals of programmers [22]. Reusable codes would allow software development houses to cut costs [23], reduce effort and maximize profits. Reusability is a very important factor being analyzed by researchers. Reusability based cost estimation models have been analyzed and the incorporation of the reusable weights into the existing COSYSMO let to a new model called COSYSMO reuse extension [24]. The conventional taguchi model incorporated with reusability exhibited efficient effort estimation results [25]. Reusability incorporation with COCOMO81, COCOMO2 [26] and COCOMO [11] has been analyzed to understand the model performance. While developing REEBEE we considered the importance as well as the ill effects of reusability in the development of the model [27]. Static Neural Networks possess learning and adaptive capabilities only for static input output relationships. But when we consider non linear mapping functions that exist in the matrices or parameters used for software effort estimation static neural networks would not be capable of handling the dynamics efficiently. REBEE is developed using dynamic neural networks (DNN). DNN are capable of providing instantaneous outputs for linear or non linear mapping functions that are required to effectively estimate the software effort required. A dynamic neuron unit (DNU) is considered as a basic computing block of the DNN. A simple DNN i is as shown in Fig. 1. # Using the discrete-time variational principle, a discrete-time lagrangian is defined by The reason that the disrete timev ? + 1 is associated with the Lagrange multiplier is due to the unfuziness of the final condition, as will be clear in the following discussion. Similar to the method used for the continuous-time case, the first variation ?of may be represented as 1 i ? = x(k+1) = -(a-1)x(k)+ a n i b x(k)+c )+s(k) i i ? = -(a-1)x(k) + f(x(k),w) + (k) = -(a-1) x (k) + a (bx(k) + c) + (k) ? T ? f(x,w) = a (b x + c ) = a (bx+c) T ? i i 1 i ? = n 1 i ? = = (x (N)-x+(N)) + n-1 (k) 1 2 - 1 2 - 2 d [x (k)-x(k)] 2 d = e (N)+ 1 2 - 1 2 - 2 1 i ? = n-1 e (k) 2 E 0 k ? = = (x (N)-x(N)) + N-1 1 2 - 2 d { x (k)-x(k)) 2 d ? 1 2 - z(k+1) [x(k+1)+(a-1)x(k)-f(x(k),w)-s(k)]} - Then, Therefore, the partial derivatives of the error index with respect to the parameters are given by And the incremental terms of the parameters are That is, the updating equations are obtained as The Learning algorithm given above for such a sequence learning problem consists of a discrete-time two-point boundary-value problem that can be solved, in general, by reiterative technique. Here, the initial condition ? 0 of the state is known, and the final condition ? ? of the Lagrange multiplier is a linear function of the unknown final condition ? ? of the state. From the above discussion we can analyze the behavior and the working of the DNN trained using the Back Propagation Algorithm. A sigmoid function is used as the activation function. In this section we would discuss about the functional properties of REEBEE. The working of REEBEE could be understood through the following steps. Let Effort Estimation is a critical operation of the Software Development Cycle. The existing estimation techniques do not provide similar estimation results for varied projects. Reusability factor is predominant in the current Software Development Cycle. The research work presented here introduced REEBEE, a reusability based effort estimation technique. REBEE is a neuro-fuzzy system which embodies fuzzy rules to derive reusability matrices and dynamic neural networks for effort estimation based on the reusability matrix. The experimental study conducted on data sets of 2 different projects showed impressive differences concluding that the REEBEE is capable of Effective Software Effort Estimation Techniques. In the future we would like to further investigate the performance of REBEE over different project types and study its responses. 1![Fig.1. A simple i th DNU Global Journal of Computer Science and Technology](image-2.png "Fig. 1 .") 2![Fig.2. A Simple DNN Structure Given a finite length discrete time sequence ? ? ? , ? = 1,2, ? . . , ?, we wish to design a discrete-time temporal learning algorithm such that the state of the following discrete-time dynamic neural unit (DT-DNU)](image-3.png "Fig. 2 .") ![Let the Lagrange multiplier ? ? satisfy, Or Then Since the initial value ? 0 does not depend on the parameters ?? 0 = 0. If we choose additionally the final condition of the Lagrange multiplier Global Journal of Computer Science and Technology Volume XI Issue VII Version I 2011 57 May REBEE -Reusability Based Effort Estimation Technique using Dynamic Neural Network ©2011 Global Journals Inc. (US)](image-4.png "") ![us consider the dataset provided to us represented by D matrice. D is a m×n matrix represented as ? ? ×? = ? 11 ? ? 1? ? ? ? ? ? 1 ? ? ?? Where p are the Parameters of the Data Set.Using Fuzzy Rules we now need to derive the reusability matrix represented as R of the parameters presented in the dataset. The matrix R consists of the effort taken to achieve the reusable part of the parameters p. The reusability matrix is a i×j matrix represented as? ?×? = ? 11 ? ? 1? ? ? ? ? ?1 ? ? ?? Let fzp(x)represent the fuzzy rule such that? ?×? = ð??" ?? ? (? ×?) The fuzzy matrix is provided to the DNN of the REEBEE to obtain the estimated effort matrix E. E also is a m×n represented as. p(m×n) corresponds to the effort estimated in man hours / man months? ? ×? = ? 11 ? ? 1? ? ? ? ? ? 1 ? ? ??To evaluate the robustness of REBEE we conducted experimental evaluations on 2 data sets obtained from a $5 billion per year international technology firm. The datasets contained data of a testing and an enterprise application development project. The data was presented in spreadsheet formats. To interface these data sets we incorporated a -Import Wizard? in REEBEE which also embodied the Fuzzy Rules to derive the reusability matrix.On Importing the dataset into REEBEE the Import Wizard Provided the Reusability Matrix to the DNN. The DNN was trained using the reusability matrix. The learning Rate used was set to 0.01, Number of Iterations were 10,000. The Sigmoid Function was used as the activation function. The experimental results obtained are as shown graphically in the figure below.](image-5.png "") 3![Fig.3. Effort Estimated and Actual Effort Time forSoftware Testing Project](image-6.png "Fig. 3 .") 4![Fig.4. Effort Estimated and Actual Effort Time for Software Testing ProjectFrom Fig.3. and Fig.4. we could conclude that the REBEE estimation is very close to the actual effort.](image-7.png "Fig. 4 .") May REBEE -Reusability Based Effort Estimation Technique using Dynamic Neural Network ©2011 Global Journals Inc. (US) May REBEE -Reusability Based Effort Estimation Technique using Dynamic Neural Network ©2011 Global Journals Inc. (US) * Effort Estimation in Global Software Development Projects: Preliminary Results from a Survey CE LPeixoto JL NAudy RPrikladnicki Proc. 2010 5th IEEE International Conference on Global Software Engineering 2010 5th IEEE International Conference on Global Software Engineering * A Review of Surveys on Software Effort Estimation KMolkken MJorgensen Proc. 2003 International Symposium on Empirical Software Engineering (ISESE'03) 2003 International Symposium on Empirical Software Engineering (ISESE'03) 223 * BWBoehm WWRoyce CocomoLe Ada Genie logiciel & Systemes experts 1989 * BWBoehm Cost Models for Future Software Life Cycle Processes: COCOMO2.0?, Annals of Software Engineering on Software Process and Product Measurement Amsterdam 1995 * Function point estimation methods: a comparative overview? RMeli LSantillo Proc. 1999 The European Software Measurement Conference 1999 The European Software Measurement ConferenceAmsterdam October 6-8 * Test effort estimation using use case points? in 14th International Internet Software Quality Week SNageswaran 2001. June 2001 San Francisco, California, USA * Practical Guidelines for Expert-Judgment-Based Software Effort Estimation MJørgensen IEEE Software 22 3 May/June 2005 * A method of programming measurement and estimation CEWalston APFelix ? IBM Systems Journal 16 1 1997 * Empirical validation of Software development effort multipliers of Intermediate COCOMO MJBasavaraj KShet Model? Journal of Software 3 5 MAY 2008 * An Improved Fuzzy Approach for COCOMO's Effort Estimation using Gaussian Membership Function? CSReddy Raju Journal of Software 4 5 2009 * A Study of Improving the Accuracy of Software Effort estimation Using Linearly Weighted Combinations CJHsu NURodas CYHuang KLPeng Proc. 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops * EKocaguneli ATosun ABener AI-Based Models for Software Effort Estimation? in Proc. 36th EUROMICRO Conference on Software Engineering and Advanced Applications * Analogy-X: Providing statistical Inference to Analogy-Based Software Cost Estimation JWKeung BAKitchenham DRJeffery IEEE Transactions on Software Engineering 34 4 July/Aug. 2008 * NNan DEHarter Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort? IEEE Transactions on Software Engineering 2009 35 * CLokan E Mendes -Investigating the Use of Chronological Split for Software Effort Estimation? IET-Software October 2009 3 * Jorgensen -Preliminary study of sequence effects in judgment-based software development work-effort estimation? SGrimstad M IET -Special Issue (EASE) 3 5 * Zanker -Recommending effort estimation methods for software project management? BPeischl MNica M Proc. IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology 2009 03 References Références Referencias 19 * Effort Estimation in Global Software Development Projects: Preliminary Results from a Survey CE LPeixoto JL NAudy RPrikladnicki Proc. 2010 5th IEEE International Conference on Global Software Engineering, ICGSE 2010 5th IEEE International Conference on Global Software Engineering, ICGSE * Software Development Effort Estimation: Formal Models or MJorgensen BWBoehm Expert Judgment? IEEE Software 26 2 Mar./Apr. 2009 * Automatic Reusability Appraisal of Software Components using Neuro-Fuzzy Approach? PSSandhu HSingh International Journal of Information Technology 3 3 2006 * Modeling of Reusability of Object Oriented Software System? PSSandhu HKaur ASingh Journal of World Academy of Science, Engineering and Technology 56 August 2009 * GWang RValerdi JFortune Reuse in Systems Engineering? September 2010 4 * PSSandhu PBlecharz HSingh A Taguchi Approach to Investigate Impact of Factors for Reusability of Software Components? 2007 25 * ChV M KHari PV G DReddy JN V RKumar GSriramganesh V M KCh Hari Identifying the Importance of Software Reuse in COCOMO81, COCOMOII? 2009 1 * NOzarin Lessons Learned on Five Large-Scale System Developments? IEEE Instrumentation & Measurement Magazine, nol 11 1 February 2008 * Clustering Mixed Data Points Using Fuzzy C-Means Clustering? retrieved from www TVelmurugan TSanthanam 2010 * Direct evidence of extensive diversity of HIV-1 in Kinshasa by 1960? retrieved volution MWorobey MGemmel DETeuwen 2008 * GIS Based Fuzzy C-Means Clustering Analysis of Urban Transit Network Service. The Nanjing City Case Study XYang WWand 2001 Road and Transport Research China * LAZadeh Fuzzy sets. Information and Control? 1965 8 * An expert system for mix design of high performance concrete MF MZain MNIslam HBasri Advances in engineering software? 2005 36