Code Inspection Supported by Stepwise Abstraction and Visualization - An Experimental Study

Anderson Belgamo, Elis Montoro Hernandes, Augusto Zamboni, Rafael Rovina, Sandra Fabbri

Abstract

Background: In order to inspect source code effectively and efficiently, in a previous work the use of visualization for supporting the reading technique Stepwise Abstraction was proposed and implemented in the CRISTA tool. Visualization aids code comprehension, which is an essential task for a successful inspection. Goal: The objective of this paper is to evaluate the effectiveness and efficiency of using stepwise abstraction supported by visualization for defects detection, in comparison to an ad-hoc approach. Method: A controlled experiment was conducted with two groups of undergraduate students. One group inspected the Java source code of the Paint software using the approach implemented in CRISTA and the other group inspected the code using an ad-hoc approach. Results: The general performance of the subjects who used Stepwise Abstraction supported by visualization was better than that of the subjects who used the ad-hoc approach. Besides, the subjects’ experience in inspection and Java did not influence the identification of defects. Conclusion: the results reveal that the use of Stepwise Abstraction and visualization promotes better performance in detecting defects than the ad-hoc approach. In future work, other approaches are being investigated as well as the support of the approaches for different types of defects.

References

  1. Almeida, J. R., Camargo, J. B., and Basseto, B. 2003. Best practices in code inspection for safety-critical software. IEEE Software, 20(3):56-63.
  2. Aurum, A., Petersson, H., and Wohlin, C., 2002. State-ofthe-art: software inspections after 25 years. Software Testing Verification and Reliability, 12(3):133-154.
  3. Basili, V. R., Caldiera, G., Lanubile, F.,and Shull, F. 1996a. Studies on reading techniques. In: Annual Software Engineering Workshop, 21, Greenbelt, Maryland. NASA/Goddard Software Engineering Laboratory Series, December, pp. 59-65.
  4. Basili, V.R., Green, S., Laitenberger, O., Shull, F., Sørumgård, S., and Zelkowitz, M. 1996b. The empirical investigation of Perspective-Based Reading. Empirical Software Engineering, 1(2):133-164.
  5. Basili, V., Green, S.,Laitenberger, O.,Lanubile, F.,Shull, F.,Sorumgard, S.,and Zelkowitz,M. 1998. Lab package for the empirical investigation of perspective-based reading, University of Maryland. Available from: http://www.cs.umd.edu/projects/SoftEng/ESEG/manu al/pbr_package/manual.html. Last accessed: 29 August 2013.
  6. Belgamo, A., Fabbri, S., and Maldonado, J. C. 2005.TUCCA: Improving the effectiveness of use case construction and requirement analysis. In: Proceedings of International Symposium on Empirical Software Engineering, ISESE 2005, Noosa Heads, vol. 1.
  7. Bernhart, M., Mauczka, A., Grechenig, T. 2010. Adopting Code Reviews for Agile Software Development. Agile Conference.
  8. Brothers, L., Sembugamoorthy, V., Muller, M. 1990. ICICLE: groupware for code inspection. In: Proceedings of the ACM Conference on Computersupported cooperative work, CSCW.
  9. Caserta, P.,and Zendra, O., 2011. Visualization of the static aspects of software: a survey. IEEE Transactions on Visualization and Computer Graphics, 17(7):913-933.
  10. Deline, R., Czerwinski, M., and Robertson, G., 2005. Easing program comprehension by sharing navigation data. IEEE Symposium on Visual Languages and Human-Centered Computing, pp. 241-248.
  11. Dunsmore, A., Roper, M., and Wood, M., 2003. The development and evaluation of three diverse techniques for object-oriented code inspections. In: IEEE Transactions on Software Engineering, 29(8):677-686.
  12. Elberzhager, F., Münch, J., and Nha, V. 2012. A systematic mapping study on the combination of static and dynamic quality assurance techniques. Information and Software Technology.
  13. Fagan, M. E. 1976. Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(7):182-211.
  14. Fagan, M. E. 1986. Advances in software inspections. IEEE Transactions on Software Engineering, 12(7):744-751.
  15. Gilb, T., and Graham, D. 1993. Software Inspection. Wokingham, England: Addison-Wesley.
  16. Hernandes, E., Belgamo, A., Fabbri, S. 2013. Experimental studies in software inspection process - a systematic mapping. In: International Conference on Enterprise Information Systems, ICEIS.
  17. Holzmann, G. J. 2009. SCRUB: a tool for code reviews. Laboratory for Reliable Software, Jet Propulsion Laboratory, California Institute of Technology.
  18. Humphrey, W.S. 1989. Managing the software process. Addison-Wesley Longman Publishing Co.
  19. Johnson, B., and Shneiderman, B. 1991. Tree-maps: aspace-filling approach to the visualization ofhierarchical information structures. In: Proceedings ofthe 2nd Conference on Visualization.
  20. Kelly, D.,and Sheppard, T. 2000. A novel approach to inspection of legacy code. Proceedings of Practical Software Quality Techniques, PSQT'00, Austin, Texas.
  21. Kelly, D., and Sheppard, T. 2002. Qualitative observations from software code inspection experiments. Proceedings of the Conference of the Centre for Advanced Studies on Collaborative Research, CASCON 7802.
  22. Knight C., and Munro M., 1999. Visualising software - a key research area. Proceedings of the International Conference on Software Maintenance, ICSM'99, IEEE Press.
  23. Knight C., and Munro M., 2001. Visualising the nonexisting, IASTED International Conference: Computer Graphics and Imaging, Hawaii, USA.
  24. Ko, A.J., Myers, B.A., Coblenz, M.J.,and Aung, H.H, 2006. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Transactions on Software Engineering, 32(12): 971-987.
  25. Laitenberger, O., and Debaud. J., 1997. Perspective-based reading of code documents at Robert Bosch GmbH. Information and Software Technology.
  26. Li, X. A., 1995. Comparison-based approach for software inspection. Proceedings of the 1995 Conference of the Centre for Advanced Studies on Collaborative Research, CASCON 7895.
  27. Linger, R. C., Mills, R. C., and Witt, B.I. 1979. Structured Programming: Theory and Practice. Addison-Wesley.
  28. Mäntylä, M. V., and Lassenius, C. 2009. What types of defects are really discovered in code reviews. IEEE Transactions on Software Engineering, 35(3):430- 448.
  29. Marucci, R. A., Fabbri, S. C. P. F., Maldonado, J. C., and Travassos, G.H. 2002.OORTs/ProDeS: Definição de técnicas de leitura para um processo de software orientado a objetos. In: Simpósio Brasileiro de Qualidade de Software, Gramado, Brazil.
  30. Mayrhauser A., and Vans, A. M. 1998. Program understanding behavior during adaptation of large scale software. Proceedings of the 6th International. Workshop on Program Comprehension, IWPC 7898, Italy, pp. 164-172.
  31. McMeekin, D. A., Von Konsky, B. R., Chang, E. J.,and Cooper, D. 2009.Evaluating Software Inspection Cognition Levels Using Bloom's Taxonomy. 22nd Conference on Software Engineering Education and Training, CSEET 7809.
  32. Pfeiffer, J., and Gurd, J. 2006. Visualisation-based tool support for the development ofaspect-oriented programs. Aspect-Oriented Software Development Conference.
  33. Porto, D., Mendonça, M., and Fabbri, S., 2009a. CRISTA: A tool to support code comprehension based on visualization and reading technique. 17thIEEE International Conference on Program Comprehension.
  34. Porto, D, Zamboni, A., Mendonça, M., and Fabbri, S. 2009b. Manutenção de código apoiada pela ferramenta CRISTA. Anais do VI Workshop de Manutenção de Software Moderna, 2009, VI WMSWM, Ouro Preto.
  35. Remillard, J. 2005. Souce code review systems. IEEE Software.
  36. Robbilard, M. P., Coelho, W., and Murphy, G. C., 2004. How effective developers investigate source code: an exploratory study. IEEE Transactions on Software Engineering, 30(12): 889-903.
  37. Russel, G. W. 1991. Experience with inspection in ultralarge-scale developments, IEEE Software, 8(1):25-31.
  38. Siy, H., and Votta, L. 2001. Does the modern code inspection have value? In: Proceedings of IEEE International Conference on Software Maintenance.
  39. Travassos, G. H., Shull, F., Carver, J., and Basili, V. R. 2002. Reading techniques for OO design inspections, Technical Report CS-TR-4353, UMIACS-TR-2002- 33, University of Maryland, Maryland, 56 p. Available from: http://drum.lib.umd.edu/bitstream/1903/1193/ 1/CS-TR-4353.pdf.
  40. Vinz, B. L., and Etzkorn L. H., 2006. A synergistic approach to program comprehension. In: International Conference on Program Comprehension, ICPC 2006, pp. 69-73.
  41. Wohlin, C., Runeson, P., and Höst, M., 2000. Experimentation in Software Engineering - An Introduction. Sweden: Springer.
Download


Paper Citation


in Harvard Style

Belgamo A., Hernandes E., Zamboni A., Rovina R. and Fabbri S. (2014). Code Inspection Supported by Stepwise Abstraction and Visualization - An Experimental Study . In Proceedings of the 16th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-758-028-4, pages 39-48. DOI: 10.5220/0004886000390048


in Bibtex Style

@conference{iceis14,
author={Anderson Belgamo and Elis Montoro Hernandes and Augusto Zamboni and Rafael Rovina and Sandra Fabbri},
title={Code Inspection Supported by Stepwise Abstraction and Visualization - An Experimental Study},
booktitle={Proceedings of the 16th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2014},
pages={39-48},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004886000390048},
isbn={978-989-758-028-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 16th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Code Inspection Supported by Stepwise Abstraction and Visualization - An Experimental Study
SN - 978-989-758-028-4
AU - Belgamo A.
AU - Hernandes E.
AU - Zamboni A.
AU - Rovina R.
AU - Fabbri S.
PY - 2014
SP - 39
EP - 48
DO - 10.5220/0004886000390048