Development of a Web Platform for Code Peer-TestingManuel Maarek, Léon McGregor
As part of formative and summative assessments in programming courses, students work on developing programming artifacts following a given specification. These artifacts are evaluated by the teachers. At the end of this evaluation, the students receive feedback and marks. Providing feedback on programming artifacts is time demanding and could make feedback to arrive too late for it to be effective for the students' learning. We propose to combine software testing with peer feedback which has been praised for offering a timely and effective learning activity with program testing. In this paper we report on the development of a Web platform for peer feedback on programming artifacts through program testing. We discuss the development process of our peer-testing platform informed by teachers and students.
2.9SEJun 13, 2017
DAReing to reduce the annotation overheads of verified programsGudmund Grov, Duncan Cameron, Leon McGregor
Modern program verifiers use the same uniform program text to both specify and implement programs. The program text is also used to provide the necessary guidance to ensure that the program satisfies its specification. The amount of guidance required is often called the annotation overhead. This can be high and is often seen as a hindrance for wider use of program verifiers, as development time is increased and the guidance may obfuscate the program text. In this paper we introduce the DARe tool, which automatically removes as much unnecessary guidance as possible for the Dafny program verifier. The tool is integrated with the Dafny IDE. To evaluate DARe, we apply it to 252 programs from the Dafny library and analyse the degree to which it is able to remove unnecessary guidance. Our results are very encouraging as a staggering 88% of the guidance can be removed.