Program Understanding Behavior During Estimation of Enhancement Effort on Small Java Programs

  • Lars Bratthall
  • Erik Arisholm
  • Magne Jørgensen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2188)


Good effort estimation is considered a key success factor for competitive software creation services. In this study, task level effort estimation by project leaders and software designers have been investigated in two Internet software service companies through an experiment. Protocol analysis of 27 think-aloud estimations of effort required for consecutive change tasks on a small Java program have been analysed, using the AFECS coding scheme. Results indicate that a) effort estimation at the task level is very different depending on the individual, even when small problems are addressed; b) AFECS seems be appropriate to use as a coding scheme when assessing program comprehension behaviour for the purpose of effort estimation; c) protocol analysis of comprehension during effort estimation does not necessarily capture all process elements. These results can be used to further guide detailed analysis of individual task level effort estimation, as can a set of high-level estimation events indicated in this study.


Mental Model Estimation Process Protocol Analysis Sequence Diagram Program Comprehension 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arisholm, E., Sjøberg, D.I.K., Jørgensen, M. “Assessing the Changeability of two Object Oriented Design Alternatives-A Controlled Experiment”. Empirical Software Engineering, accepted for publication. 2001Google Scholar
  2. 2.
    Bratthall, L., Runeson, P., Adelswärd, K., Eriksson, W. “A Survey of Lead-time Challenges in the Development and Evolution of Distributed Real-time Systems”. Information and Software Technology, Vol. 42, No. 13, pp. 947–958. September, 2000CrossRefGoogle Scholar
  3. 3.
    Briand, L.C., El Emann, K., et al. An Assessment and Comparison of Common Software Cost Estimation Techniques. ISERN. 1998Google Scholar
  4. 4.
    Brooks, R. “Towards a Theory of the Comprehension of Computer Programs”. Int.l J. of Man-Machine Studies. Vol. 18, pp. 543–554. 1983CrossRefMathSciNetGoogle Scholar
  5. 5.
    Brown, N.R., Siegler, R.S. “The Role of Availability in the Estimation of National Populations.” Memory and Cognition, Vol. 20, pp. 406–412. 1993Google Scholar
  6. 6.
    Cook, J.E., Wolf, A.L. “Automating Process Discovery through Event-Data Analysis” Proc. 17th International Conference on Software Engineering. Seattle, Washington, USA. April, 1995Google Scholar
  7. 7.
    Delaney, W.A. “Predicting the Costs of Computer Programs”. Data Processing Magazine, pp. 32–34. 1966Google Scholar
  8. 8.
    Eriksson, K.A., Simon, H.A. Protocol Analysis: Verbal Reports as Data. 3rd printing. 1999Google Scholar
  9. 9.
    Jørgensen, M., Sjøberg, D., Kirkebøen, G. “The Prediction Ability of Experienced Software Maintainers”. In Proc. 4th European Conference on Software Maintenance and Reengineering. Zürich, Switzerland. 2000Google Scholar
  10. 10.
    Letovsky, S. “Delocalized Plans and Program Comprehension”. IEEE Software, pp. 41–49. May, 1986Google Scholar
  11. 11.
    von Mayrhauser, A., Lang, S. “A Coding Scheme to Support Systematic Analysis of Software Comprehension”. IEEE Trans. on Software Engineering. Vol. 25, No. 4, pp. 526–540. July/August, 1999CrossRefGoogle Scholar
  12. 12.
    von Mayrhauser, A., Vans, A.M. “From Program Comprehension to Tool Requirements for an Industrial Environment”. In Proc. Second Workshop on Program Comprehension, pp. 78–86. IEEE Computer Society. July, 1993Google Scholar
  13. 13.
    von Mayrhauser, A., Vans, A.M. “Dynamic Code Cognition Behaviours for Large Scale Code”. In Proc. Third Workshop on Program Comprehension, pp. 74–81. IEEE Computer Society. November, 1994Google Scholar
  14. 14.
    von Mayrhauser, A., Vans, A.M. “Comprehension Processes During Large Scale Maintenance”. In Proc. 16th Intl. Conf. Software Engineering. Sorrento, Italy. May, 1994Google Scholar
  15. 15.
    von Mayrhauser, A., Vans, A.M. “Industrial Experience with an Integrated Code Comprehension Model”. Software Engineering Journal, pp. 171–182. September, 1995Google Scholar
  16. 16.
    von Mayrhauser, A., Vans, A.M. “Identification of Dynamic Comprehension Processes During Large Scale Maintenance”. IEEE Transactions on Software Engineering, Vol. 22, No. 6, pp. 424–437. 1996CrossRefGoogle Scholar
  17. 17.
    von Mayrhauser, A., Vans, A.M. “On the Role of Hypotheses During Opportunistic Understanding While Porting Large Scale Code”. In Proc. Fourth Workshop on Program Comprehension, pp. 68–77. IEEE Computer Society. March, 1996Google Scholar
  18. 18.
    von Mayrhauser, A., Vans, A.M., Howe, A.E. “Program Understanding Behaviour during Enhancement of Large-scale Software”. Journal of Software Maintenance, Vol. 9, pp. 299–327. 1997CrossRefGoogle Scholar
  19. 19.
    Miranda, E. “An Evaluation of the Paired Comparisons Method for Software Sizing”. Int’l Conf. Software Engineering. pp. 597–604. Limerick, Ireland. 2000Google Scholar
  20. 20.
    Myrtveit, I., Stensrud, E. “A Controlled Experiment to Assess the Benefits of Estimating with Analogy and Regression Models”. IEEE Transactions on Software Engineering, Vol. 25, pp. 510–525. 1999CrossRefGoogle Scholar
  21. 21.
    Saaty, T.L. The Analytic Hierarchy Process. McGraw-Hill, New York, USA. 1980Google Scholar
  22. 22.
    Soloway, E., Adelson, B., et al. (Eds.) Knowledge and Process in the Comprehension of Computer Programs. The Nature of Expertise. Lawrence Erlbaum Assoc. 1988Google Scholar
  23. 23.
    Standish Group. Accessed 20 Feb. 2001
  24. 24.
    Storey, M.D., Wong, K., Müller, H.A. “How do Program Understanding Tools Affect How Programmers Understand Programs?”, Proc. Fourth Working Conf. Reverse Engineering. Amsterdam, The Netherlands. October, 1997Google Scholar
  25. 25.
    Vans, A.M., von Mayrhauser, A., Somlo, G. “Program Understanding Behaviour during Corrective Maintenance of Large-scale Software”. International Journal of Human-Computer Studies, Vol. 51, pp. 31–70. 1999CrossRefGoogle Scholar
  26. 26.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A. Experimentation in Software Engineering: An Introduction, Kluwer Academic Publishers. 1999Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Lars Bratthall
    • 1
  • Erik Arisholm
    • 2
  • Magne Jørgensen
    • 2
  1. 1.ABB Corporate ResearchBillingstadNorway
  2. 2.Dept. InformaticsUniversity of OsloOsloNorway

Personalised recommendations