TY - GEN
T1 - Modular set-based analysis from contracts
AU - Meunier, Philippe
AU - Findler, Robert Bruce
AU - Felleisen, Matthias
PY - 2006
Y1 - 2006
N2 - In PLT Scheme, programs consist of modules with contracts. The latter describe the inputs and outputs of functions and objects via predicates. A run-time system enforces these predicates; if a predicate fails, the enforcer raises an exception that blames a specific module with an explanation of the fault. In this paper, we show how to use such module contracts to turn set-based analysis into a fully modular parameterized analysis. Using this analysis, a static debugger can indicate for any given contract check whether the corresponding predicate is always satisfied, partially satisfied, or (potentially) completely violated. The static debugger can also predict the source of potential errors, i.e., it is sound with respect to the blame assignment of the contract system.
AB - In PLT Scheme, programs consist of modules with contracts. The latter describe the inputs and outputs of functions and objects via predicates. A run-time system enforces these predicates; if a predicate fails, the enforcer raises an exception that blames a specific module with an explanation of the fault. In this paper, we show how to use such module contracts to turn set-based analysis into a fully modular parameterized analysis. Using this analysis, a static debugger can indicate for any given contract check whether the corresponding predicate is always satisfied, partially satisfied, or (potentially) completely violated. The static debugger can also predict the source of potential errors, i.e., it is sound with respect to the blame assignment of the contract system.
KW - Modular Analysis
KW - Runtime Contracts
KW - Set-based Analysis
KW - Static Debugging
UR - http://www.scopus.com/inward/record.url?scp=33745817846&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33745817846&partnerID=8YFLogxK
U2 - 10.1145/1111037.1111057
DO - 10.1145/1111037.1111057
M3 - Conference contribution
AN - SCOPUS:33745817846
SN - 1595930272
SN - 9781595930279
T3 - Conference Record of the Annual ACM Symposium on Principles of Programming Languages
SP - 218
EP - 231
BT - Conference Record of POPL 2006
PB - Association for Computing Machinery
T2 - 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'06
Y2 - 11 January 2006 through 13 January 2006
ER -