Improving students' code correctness and test completeness by informal specifications
Arno Broeders, Ruud Hermans, Sylvia Stuurman, Lex Bijlsma and, Harrie Passier

TL;DR
This paper demonstrates that teaching students to use informal specifications significantly improves software correctness and test completeness, while increasing their appreciation for specifications.
Contribution
It introduces a novel approach focusing on using informal specifications to enhance student software development and learning outcomes.
Findings
Errors in student software decreased significantly
Test completeness improved notably
Students valued and appreciated informal specifications
Abstract
The quality of software produced by students is often poor. How to teach students to develop good quality software has long been a topic in computer science education and research. We must conclude that we still do not have a good answer to this question. Specifications are necessary to determine the correctness of software, to develop error-free software and to write complete tests. Several attempts have been made to teach students to write specifications before writing code. So far, that has not proven to be very successful: Students do not like to write a specification and do not see the benefits of writing specifications. In this paper we focus on the use of informal specifications. Instead of teaching students how to write specifications, we teach them how to use informal specifications to develop correct software. The results were surprising: the number of errors in software and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Teaching and Learning Programming
