1 / 13

Reuse and Maintenance Estimation

Reuse and Maintenance Estimation. Vu Nguyen March 17, 2009 Center for Systems and Software Engineering University of Southern California. Reused Pieces (Unmodified). Adapted Pieces (modified, deleted, added). New Pieces. Reuse and Maintenance – A Source Code Perspective.

bella
Download Presentation

Reuse and Maintenance Estimation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reuse and Maintenance Estimation Vu Nguyen March 17, 2009 Center for Systems and Software Engineering University of Southern California

  2. Reused Pieces (Unmodified) Adapted Pieces (modified, deleted, added) New Pieces Reuse and Maintenance – A Source Code Perspective Acquired Pieces Project Execution Exiting System’s Pieces

  3. COCOMO II Reuse and Maintenance Models • Reuse Model • Maintenance Model Size = (Size Added + Size Modified) * (1 + SU*UNFM/100)

  4. Limitations • The two models do not converge although reuse and maintenance are indistinguishable • Unclear how to determine the “actual” equivalent SLOC from a completed system • Determining the models’ parameters DM, CM, IM, Adapted SLOC, etc. is difficult • Difficult to calibrate the models • Exploratory results • Smoothed AAM factor • Revised equivalent SLOC

  5. New AAM formula Old AAM formula Relative # of interfaces checked Adaptation Adjustment Modifier (AAM) AAM worse case: AA = 8 UNFM = 1 SU = 50 Relative Cost Relative Amount of Modification (AAF) New AAM formula:

  6. Calculating Actual Equivalent SLOCBased on CodeCount Tool • Equivalent Adapted KSLOC (EKSLOCadapted) • Determining “actual” DMadapted, CMadapted, IMadapted • DMadapted = CMadapted = IMadapted = KSLOCmodified/KSLOCadapted • AAFadapted = KSLOCmodified/KSLOCadapted • EKSLOCadapted = KSLOCadapted * AAMadapted • Equivalent Reused KSLOC (EKSLOCreused) • DMreused = CMreused = 0 (no modification needed) • AAMreused = AAFreused = 0.3 * IMreused • EKSLOCreused = 0.3 KSLOCreused * IMreused • Total Equivalent KSLOC EKSLOC = KSLOCadded + EKSLOCadapted + EKSLOCreused

  7. Product Factor • A product often has multiple releases • Each release is delivered by a project • Each release is based on a baseline release • Unmodified modules are reused • Modified modules are adapted • New modules are added • Some modules are deleted • Inherit overall software complexity • Leverage some environments, processes, personnel, and hence productivity pattern (e.g., decrease or increase)

  8. Product Factor (cont’d) • Calibration with product factor • Each product has multiple releases • Each project is corresponding to a release • Regression equation (2) log(PMi) – [SFi * log(Sizei) + log(EAFi)] = [0 + 1*log(Sizei)] *  fi(j) j Where productN  fi(j) = 1 if product(i) = j j=product1 = 0 otherwise

  9. Validation • Models • R1: Use existing COCOMO II Reuse Model, A = 2.94, and B = 0.91 • R2: Use the modified formulas above and calibrate A and B values • R3: Same as R2 plus applying the “product factor” using the regression equation (2) • Calculate MMRE, PRED(.25), and PRED(.30) from the three models • Use dataset of 29 releases

  10. Dataset • A dataset from CSSE’s Affiliate • 6 products • 29 releases • Application types • data processing • Military – Ground • Test

  11. Results • Models • R1: Use existing COCOMO II Reuse Model, A = 2.94, and B = 0.91 • R2: Use the modified formulas above and calibrate A and B values • R3: Same as R2 plus applying the “product factor” using the regression equation (2)

  12. Results (cont’d) • The results suggest that the calibrated model generates better estimates • Calibrated model using data from projects for the same product (Model R3) potentially has best performance • Limitations of Model R3 • Calibrated A and B values are unstable, high variant • Calibrated A and B values are sometimes counter-intuitive (e.g., A < 1, B < 0)

  13. Next steps • Modify the AAM formula • Apply regression to determine the coefficients for KSLOCadded, EKSLOCadapted, EKSLOCreused • Perform Delphi survey to determine the constant values of SU, UNFM, DM, CM, IM • Determine the weights of Added, Modified, and Deleted SLOC in adapted modules • Collect more data to calibrate COCOMO cost driver values for maintenance and reuse model • Explore causes of variation in “product factor” • May discover an explanatory driver

More Related