Abstract
To foster the process of learning to program, theory and exercises are necessary. Traditionally, manual review of the source is used to provide feedback for the solutions. The effort is substantial and identified problems are prone to subjective interpretation. We study static analysis and testing tools as an enhancement to reviews and discuss the benefits. We analyze our findings by comparing the results from analysis by cross-checking the outcomes of the different tools with each other, with the tutors’ remarks, and with the course outcome additionally taking into account final examination results. The effort was substantial and it turned out, that the tools are no replacement for manual review. Tool support is an enhancement due to localization of problem areas, accurate check of programming rules, and an efficient way to detect plagiarism.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
The Joint Task Force: Computing Curricula 2001, Computer Science, ACM (2001)
Jazayeri, M.: The Education of a Software Engineer. In: Proceedings of 19th IEEE Conference on Automated Software Engineering, Linz, Austria (2004)
Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice-Hall, Englewood Cliffs (2003)
Tian, J.: Software Quality Engineering – Testing, Quality Assurance, and Quantifiable Improvement. John Wiley & Sons, West Sussex, England (2005)
McConnel, S.: Code Complete. Microsoft Press, Redmond, Washington (2004)
Wiegers, K.E.: Peer Reviews in Software. Addison Wesley, London, UK (2002)
Spillner, A., Linz, T., Schaefer, H.: Software Testing Foundations, dpunkt (2006)
Josuttis, N.: The C++ Standard Library–A Tutorial and Reference. Addison-Wesley, London, UK (1999)
The Python Programming Language, http://www.python.org
Bullseye Code Coverage Tool, http://www.bullseye.com
Ramler, R., Wolfmaier, K., Dobler, H., Altmann, J.: State of the Art in Static Program Analysis and Unit Testing (in German), Technical Report SCCH 0323 (2003)
pclint Static Analysis Tool, http://www.gimpel.com
Visual Studio, Development Environment (2005), http://www.microsoft.com
Bush, W.R., Pincus, J.D., Sielaff, D.J.: A static analyzer for finding dynamic programming errors. Software—Practice and Experience (June 2000)
Larus, J.R., Ball, T., Das, M., DeLine, R., Fähndrich, M., Pincus, J., Rajamani, S.K., Venkatapathy, R.: Righting Software. IEEE Software (May/June 2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dobler, H., Ramler, R., Wolfmaier, K. (2007). A Study of Tool Support for the Evaluation of Programming Exercises. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2007. EUROCAST 2007. Lecture Notes in Computer Science, vol 4739. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75867-9_48
Download citation
DOI: https://doi.org/10.1007/978-3-540-75867-9_48
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75866-2
Online ISBN: 978-3-540-75867-9
eBook Packages: Computer ScienceComputer Science (R0)