Fundamentals of software engineering
Fundamentals of software engineering
The C++ standard library: a tutorial and reference
The C++ standard library: a tutorial and reference
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
The Education of a Software Engineer
Proceedings of the 19th IEEE international conference on Automated software engineering
Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement
Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement
IEEE Software
Hi-index | 0.00 |
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.