Exploring Automatic Specification Repair in Dafny Programs

dc.contributor.author Alexandra Sofia Mendes en
dc.contributor.author Nuno Moreira Macedo en
dc.contributor.other 7344 en
dc.contributor.other 5625 en
dc.date.accessioned 2024-01-28T14:33:36Z
dc.date.available 2024-01-28T14:33:36Z
dc.date.issued 2023 en
dc.description.abstract Formal verification has become increasingly crucial in ensuring the accurate and secure functioning of modern software systems. Given a specification of the desired behaviour, i.e. a contract, a program is considered to be correct when all possible executions guarantee the specification. Should the software fail to behave as expected, then a bug is present. Most existing research assumes that the bug is present in the implementation, but it is also often the case that the specified expectations are incorrect, meaning that it is the specification that must be repaired. Research and tools for providing alternative specifications that fix details missing during contract definition, considering that the implementation is correct, are scarce. This paper presents a preliminary tool, focused on Dafny programs, for automatic specification repair in contract programming. Given a Dafny program that fails to verify, the tool suggests corrections that repair the specification. Our approach is inspired by a technique previously proposed for another contract programming language and relies on Daikon for dynamic invariant inference. Although the tool is focused on Dafny, it makes use of specification repair techniques that are generally applicable to programming languages that support contracts. Such a tool can be valuable in various scenarios, such as when programmers have a reference implementation and need to analyse their contract options, or in educational contexts, where it can provide students with hints to correct their contracts. The results of the evaluation show that the approach is feasible in Dafny and that the overall process has reasonable performance but that there are stages of the process that need further improvements. en
dc.identifier P-00Z-BF0 en
dc.identifier.uri https://repositorio.inesctec.pt/handle/123456789/14784
dc.language eng en
dc.rights info:eu-repo/semantics/openAccess en
dc.title Exploring Automatic Specification Repair in Dafny Programs en
dc.type en
dc.type Publication en
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
P-00Z-BF0.pdf
Size:
278.21 KB
Format:
Adobe Portable Document Format
Description: