Title
Nonconformance between programs and contracts: a study on C#/code contracts open source systems.
Abstract
Detecting nonconformances between contracts and code is critical in contract-based programs, although detection is only the first step in correction; one needs to pinpoint their causes. For example, a nonconformance may be due to a method precondition that is weaker than it should be, or maybe the program behavior breaks the corresponding contracts. Previous research on contract-based programs lacks evidence about the most frequent causes for nonconformances. Either, no previous work elaborate on the effort required for establishing a likely cause. In this work, from 63 automatically-detected nonconformances found in 12 open source C#/Code Contracts systems, we manually analyze their likely causes, among contract or code defects. We observe nonconformances are frequently due to the weakness of preconditions, or to programs failing to fulfill contracts that seem appropriate to the problem at hand, although most nonconformances cause failures at the exit of operations (postcondition and invariant nonconformances sum up to 35). We also report on the obstacles in determining a likely cause, in which context information about the affected program fragment is often relevant.
Year
DOI
Venue
2017
10.1145/3019612.3019779
SAC
Field
DocType
Citations 
Computer security,Program behavior,Computer science,Design by contract,Precondition,Postcondition
Conference
0
PageRank 
References 
Authors
0.34
11
4
Name
Order
Citations
PageRank
Alysson Milanez100.68
Bianca Lima200.34
José Ferreira300.34
Tiago Massoni424517.18