English

Improving students' code correctness and test completeness by informal specifications

Software Engineering 2023-09-06 v1

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 the completeness of tests both improved considerably and, most importantly, students really appreciate the specifications. We think that if students appreciate specification, we have a key to teach them how to specify and to appreciate its value.

Keywords

Cite

@article{arxiv.2309.02221,
  title  = {Improving students' code correctness and test completeness by informal specifications},
  author = {Arno Broeders and Ruud Hermans and Sylvia Stuurman and Lex Bijlsma and Harrie Passier},
  journal= {arXiv preprint arXiv:2309.02221},
  year   = {2023}
}

Comments

14 pages

R2 v1 2026-06-28T12:13:06.908Z