The foundations of program verification
The foundations of program verification
LOGLAN '88—report on the programming language
LOGLAN '88—report on the programming language
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
A Theory of Objects
Algorithmic Logic
Information and Computation - FOOL VII
Semantics and implementation of prefixing at many levels
Logic of Programs and Their Applications, Proceedings
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
A Deterministic Algorithm for Identifying Direct Superclasses in Java
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
A Deterministic Algorithm for Identifying Direct Superclasses in Java
Fundamenta Informaticae - Concurrency Specification and Programming (CS&P)
Hi-index | 0.01 |
Some object oriented programming languages allow inner classes. All of them admit inheritance. This combination of inner classes and inheritance is very fruitful however less known. On the other hand it creates a serious problem: how to determine the direct superclass of a given class C, i.e. the class which class C directly inherits from. For there may be several classes of the same name in one program. A specification of the problem and a non-deterministic algorithm are provided. We prove that the algorithm is correct w.r.t. the specification and complete, i.e. if the algorithm signals an error then no solution exists. We show that the specification itself has at most one solution, in other words, it is a complete specification. This proves also that the corresponding parts of Java Language Specification are consistent and define uniquely a fragment of Java semantics.