A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Two semantic models of object-oriented languages
Theoretical aspects of object-oriented programming
Equality-based flow analysis versus recursive types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
On Model-Checking Trees Generated by Higher-Order Recursion Schemes
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
Separation logic, abstraction and inheritance
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
The Spec# Programming System: Challenges and Directions
Verified Software: Theories, Tools, Experiments
Types and trace effects for object orientation
Higher-Order and Symbolic Computation
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
Higher-order multi-parameter tree transducers and recursion schemes for program verification
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying higher-order functional programs with pattern-matching algebraic data types
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verification of tree-processing programs via higher-order model checking
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Approximation semantics and expressive predicate assignment for object-oriented programming
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
Reasoning about threads with bounded lock chains
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Context-Bounded model checking of concurrent software
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Untyped recursion schemes and infinite intersection types
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Hi-index | 0.00 |
Model checking of higher-order recursion schemes (HORS, for short) has been recently studied as a new promising technique for automated verification of higher-order programs. The previous HORS model checking could however deal with only simply-typed programs, so that its application was limited to functional programs. To deal with a broader range of programs such as object-oriented programs and multi-threaded programs, we extend HORS model checking to check properties of programs with recursive types. Although the extended model checking problem is undecidable, we develop a sound model-checking algorithm that is relatively complete with respect to a recursive intersection type system and prove its correctness. Preliminary results on the implementation and applications to verification of object-oriented programs and multi-threaded programs are also reported.