OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Static analysis of linear congruence equalities among variables of a program
TAPSOFT '91 Proceedings of the international joint conference on theory and practice of software development on Colloquium on trees in algebra and programming (CAAP '91): vol 1
Object-oriented type inference
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Eiffel: the language
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
Object-oriented type systems
A denotational semantics of inheritance and its correctness
Information and Computation
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Reasoning about Java classes: preliminary report
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Field analysis: getting useful and low-cost interprocedural information
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Microsoft C# Language Specifications
Microsoft C# Language Specifications
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Write barrier removal by static analysis
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Distinctness and Sharing Domains for Static Analysis of Java Programs
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Modular Control Flow Analysis for Libraries
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Java Software Solutions, AP Version
Java Software Solutions, AP Version
Dynamically discovering likely program invariants
Dynamically discovering likely program invariants
Class analyses as abstract interpretations of trace semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Class-level modular analysis for object oriented languages
SAS'03 Proceedings of the 10th international conference on Static analysis
JML-based verification of liveness properties on a class in isolation
Proceedings of the 2006 conference on Specification and verification of component-based systems
Abstract Interpretation and Object-oriented Programming: Quo Vadis?
Electronic Notes in Theoretical Computer Science (ENTCS)
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Magic-sets for localised analysis of Java bytecode
Higher-Order and Symbolic Computation
Semantic hierarchy refactoring by abstract interpretation
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Technology for inferring contracts from code
Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technology
Tracing compilation by abstract interpretation
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
We present a generic framework for the automatic and modular inference of sound class invariants for class-based object-oriented languages. We define a trace-based semantics for classes which considers all possible orderings, with all possible arguments, of invocations of all the methods of a class. We prove a correspondence theorem between such a semantics and a generic, trace-based, semantics for complete object-oriented programs. We express state-based class invariants in a fixpoint form by considering an abstraction of the class semantics, and we show how class invariants can be automatically inferred exploiting a static analysis of the methods. Furthermore, we address the problem of inferring a subclass invariant without accessing to the parent code, but just to its invariant.