History Effects and Verification

This paper shows how type effect systems can be combined with model-checking techniques to produce powerful, automatically verifiable program logics for higher-order programs. The properties verified are based on the ordered sequence of events that occur during program execution — an event history. Our type and effect systems automatically infer conservative approximations of the event histories arising at run- time, and model-checking techniques are used to verify logical properties of these histories.

[1]  Vipin Chaudhary,et al.  History-based access control for mobile code , 1998, CCS '98.

[2]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[3]  Thomas Colcombet,et al.  Enforcing trace properties by program transformation , 2000, POPL '00.

[4]  Flemming Nielson,et al.  Type and effect systems - behaviours for concurrency , 1999 .

[5]  Flemming Nielson,et al.  Type and Effect Systems , 1999 .

[6]  Le MétayerDaniel,et al.  Model checking security properties of control flow graphs , 2001 .

[7]  Lujo Bauer,et al.  Types and Effects for Non-interfering Program Monitors , 2002, ISSS.

[8]  Javier Esparza,et al.  On the Decidability of Model Checking for Several µ-calculi and Petri Nets , 1994, CAAP.

[9]  David A. Schmidt,et al.  Program Analysis as Model Checking of Abstract Interpretations , 1998, SAS.

[10]  Naoki Kobayashi Time regions and effects for resource usage analysis , 2003, TLDI '03.

[11]  Peter J. Stuckey,et al.  Resource Usage Verification , 2003, APLAS.

[12]  Daniel Le Métayer,et al.  Model Checking Security Properties of Control Flow Graphs , 2001, J. Comput. Secur..

[13]  David A. Wagner,et al.  MOPS: an infrastructure for examining security properties of software , 2002, CCS '02.

[14]  Thomas P. Jensen,et al.  Secure calling contexts for stack inspection , 2002, PPDP '02.

[15]  Jonathan G. Rossie Logical observable entities , 1998, OOPSLA '98.

[16]  Dan S. Wallach,et al.  Understanding Java stack inspection , 1998, Proceedings. 1998 IEEE Symposium on Security and Privacy (Cat. No.98CB36186).

[17]  Scott F. Smith,et al.  Static enforcement of security with types , 2000, ICFP '00.

[18]  Martín Abadi,et al.  Access Control Based on Execution History , 2003, NDSS.

[19]  Daniel Le Métayer,et al.  Verification of control flow based security properties , 1999, Proceedings of the 1999 IEEE Symposium on Security and Privacy (Cat. No.99CB36344).

[20]  Scott F. Smith,et al.  Type inference for recursively constrained types and its application to OOP , 1995, MFPS.

[21]  Sriram K. Rajamani,et al.  Bebop: A Symbolic Model Checker for Boolean Programs , 2000, SPIN.

[22]  Javier Esparza,et al.  Model-Checking LTL with Regular Valuations for Pushdown Systems , 2001, TACS.

[23]  Pierre Jouvelot,et al.  Algebraic reconstruction of types and effects , 1991, POPL '91.

[24]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[25]  Fred B. Schneider,et al.  Enforceable security policies , 2000, TSEC.

[26]  David Walker,et al.  A type system for expressive security policies , 2000, POPL '00.

[27]  David Walker,et al.  An effective theory of type refinements , 2003, ACM SIGPLAN Notices.

[28]  Atsushi Igarashi,et al.  Resource usage analysis , 2002, POPL '02.

[29]  Christian Skalka,et al.  History Types and Verification , 2003 .

[30]  Scott F. Smith,et al.  A Systematic Approach to Static Access Control , 2001, ESOP.

[31]  Flemming Nielson,et al.  Type and Effect Systems , 1999, Correct System Design.

[32]  Zhong Shao,et al.  Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation , 2003 .

[33]  Pierre Jouvelot,et al.  The type and effect discipline , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[34]  Faron Moller,et al.  Verification on Infinite Structures , 2001, Handbook of Process Algebra.

[35]  Sophie Tison Trees in Algebra and Programming — CAAP'94 , 1994, Lecture Notes in Computer Science.

[36]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[37]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[38]  Bernhard Steffen,et al.  Model Checking for Context-Free Processes , 1992, CONCUR.

[39]  Christian Skalka,et al.  Syntactic Type Soundness for HM(X) , 2002, Electron. Notes Theor. Comput. Sci..