Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface violations, and help identify faulty modules (packages, classes, functions, etc). This paper extends prior higher-order contract systems to also express and enforce temporal properties, which are common in software systems with imperative state, but which are mostly left implicit or are at best informally specified. The paper presents both a programmatic contract API as well as a temporal contract language, and reports on experience and performance results from implementing these contracts in Racket. Our development formalizes module behavior as a trace of events such as function calls and returns. Our contract system provides both non-interference (where contracts cannot influence correct executions) and also a notion of completeness (where contracts can enforce any decidable, prefix-closed predicate on event traces).
机构:
Imperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Imperial Coll London, Ctr Complex Sci, South Kensington Campus, London SW7 2AZ, England
Beijing Normal Univ, Sch Syst Sci, Beijing 100875, Peoples R ChinaImperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Yao, Qing
Chen, Bingsheng
论文数: 0引用数: 0
h-index: 0
机构:
Imperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Imperial Coll London, Ctr Complex Sci, South Kensington Campus, London SW7 2AZ, EnglandImperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Chen, Bingsheng
Evans, Tim S.
论文数: 0引用数: 0
h-index: 0
机构:
Imperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Imperial Coll London, Ctr Complex Sci, South Kensington Campus, London SW7 2AZ, EnglandImperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Evans, Tim S.
Christensen, Kim
论文数: 0引用数: 0
h-index: 0
机构:
Imperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
Imperial Coll London, Ctr Complex Sci, South Kensington Campus, London SW7 2AZ, EnglandImperial Coll London, Blackett Lab, South Kensington Campus, London SW7 2AZ, England
机构:
Univ N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USAUniv N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USA
Farthing, MW
Kees, CE
论文数: 0引用数: 0
h-index: 0
机构:
Univ N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USAUniv N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USA
Kees, CE
Miller, CT
论文数: 0引用数: 0
h-index: 0
机构:
Univ N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USAUniv N Carolina, Dept Environm Sci & Engn, Ctr Adv Study Environm, Chapel Hill, NC 27599 USA
机构:
Korea Univ, Dept Phys, Seoul 02841, South KoreaKorea Univ, Dept Phys, Seoul 02841, South Korea
Kim, Jung -Ho
Goh, K. -, I
论文数: 0引用数: 0
h-index: 0
机构:
Korea Univ, Dept Phys, Seoul 02841, South Korea
Univ Calif Los Angeles, Dept Math, Los Angeles, CA 90095 USAKorea Univ, Dept Phys, Seoul 02841, South Korea