Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The C++ programming language
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Reducing indirect function call overhead in C++ programs
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Class hierarchy specialization
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Knowledge representation: logical, philosophical and computational foundations
Knowledge representation: logical, philosophical and computational foundations
Practical virtual method call resolution for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Scalable propagation-based call graph construction algorithms
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An Aristotelian understanding of object-oriented programming
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Java Language Specification
The Java Language Specification
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Fast and effective optimization of statically typed object-oriented languages
Fast and effective optimization of statically typed object-oriented languages
Software and hardware techniques for efficient polymorphic calls
Software and hardware techniques for efficient polymorphic calls
"Real World" as an Argument for Covariant Specialization in Programming and Modeling
OOIS '02 Proceedings of the Workshops on Advances in Object-Oriented Information Systems
Integrating SHriMP with the IBM websphere studio workbench
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Metamodeling semantics of multiple inheritance
Science of Computer Programming
A Diagrammatic Calculus of Syllogisms
Journal of Logic, Language and Information
A System of Relational Syllogistic Incorporating Full Boolean Reasoning
Journal of Logic, Language and Information
Hi-index | 0.00 |
Recent works by Sowa and by Rayside & Campbell demonstrate that there is a strong connection between object-oriented programming and the logical formalism of the syllogism, first set down by Aristotle in the Prior Analytics. In this paper, we develop an understanding of polymorphic method invocations in terms of the syllogism, and apply this understanding to the design of a novel editor for object-oriented programs. This editor is able to display a polymorphic call graph, which is a substantially more difficult problem than displaying a non-polymorphic call graph. We also explore the design space of program analyses related to the syllogism, and find that this space includes Unique Name, Class Hierarchy Analysis, Class Hierarchy Slicing, Class Hierarchy Specialization, and Rapid Type Analysis.