Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/381473.381485acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

On the syllogistic structure of object-oriented programming

Published: 01 July 2001 Publication History

Abstract

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.

References

[1]
Aristotle. Prior Analytics. In W. D. Ross, editor, The Works of Aristotle, Volume 1: Logic. Oxford University Press, 1928.
[2]
D. F. Bacon. Fast and Effective Optimization of Statically Typed Object-Oriented Languages. PhD thesis, University of California at Berkeley, December 1997. Supervised by Susan Graham. UCB/CSD-98-1017.
[3]
B. Calder and D. Grunwald. Reducing indirect function call overhead in C++ programs. In POPL'94, pages 397-408, Portland, Oregon, January 1994.
[4]
C. Chambers. Object-oriented multi-methods in Cecil. In ECOOP'92, Utrecht, The Netherlands, July 1992. Springer- Verlag.
[5]
J. Dean, D. Grove, and C. Chambers. Optimization of objectoriented programs using static class hierarchy analysis. In W. Olthoff, editor, ECOOP'95, Arhus, Denmark, August 1995. Springer-Verlag. LNCS 952.
[6]
K. Driesen. Software and Hardware Techniques for Efficient Polymorphic Calls. PhD thesis, University of California at Santa Barbara, June 1999. Supervised by Urs Holzle. TRCS99-24.
[7]
A. Goldberg and D. Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, 1983.
[8]
J. Gosling, B. Joy, and G. Steele Jr. The Java Language Specification. Addison Wesley, 1996.
[9]
D. Lea, editor. Proceedings of ACM/SIGPLAN Conference on Object-Oriented Systems, Languages and Applications (OOPSLA), Minneapolis, Minnesota, October 2000.
[10]
J.Eukasiewicz. Aristotle's Syllogistic From the Standpoint of Modern Formal Logic. Oxford Clarendon Press, 2nd edition,1957.
[11]
O. L. Madsen, B. Moller-Pedersen, and K. Nygaard. Objectoriented Programming in the BETA Programming Language. Addison Wesley, 1993.
[12]
D. Rayside and G. T. Campbell. An Aristotelian Understanding of Object-Oriented Programming. In Lea {9}, pages 337- 353.
[13]
L. E. Rose. Aristotle's Syllogistic. Charles C. Thomas Publisher, 1968.
[14]
J. F. Sowa. Knowledge Representation: Logical, Philosophical, and Computational Foundations. Brooks/Cole Thomson Learning, 2000.
[15]
B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.
[16]
V. Sundaresan, L. Hendren, C. Razafimahefa, R. Vallee-Rai, P. Lam, and E. Gagnon. Practical virtual method call resolution for Java. In Lea {9}, pages 264 - 280.
[17]
F. Tip, J.-D. Choi, J. Field, and G. Ramalingam. Slicing class hierarchies in C++. In J. Coplien, editor, OOPSLA'96, pages 179 - 197, San Jose, California, October 1996.
[18]
F. Tip and J. Palsberg. Scalable propagation-based call graph construction algorithms. In Lea {9}, pages 281 - 293.
[19]
F. Tip and P. F. Sweeney. Class hierarchy specialization. In T. Bloom, editor, OOPSLA'97, pages 271-285, Atlanta, Georgia, October 1997.
[20]
D. Ungar and R. B. Smith. Self: The power of simplicity. In OOPSLA'87, pages 227-241, Orlando, Florida, October 1987.

Cited By

View all
  • (2001)Integrating SHriMP with the IBM websphere studio workbenchProceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research10.5555/782096.782110Online publication date: 5-Nov-2001

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '01: Proceedings of the 23rd International Conference on Software Engineering
July 2001
844 pages
ISBN:0769510507

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 July 2001

Check for updates

Qualifiers

  • Article

Conference

ICSE01
Sponsor:
ICSE01: 23rd International Conference on Software Engineering
May 12 - 19, 2001
Ontario, Toronto, Canada

Acceptance Rates

ICSE '01 Paper Acceptance Rate 47 of 268 submissions, 18%;
Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2001)Integrating SHriMP with the IBM websphere studio workbenchProceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research10.5555/782096.782110Online publication date: 5-Nov-2001

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media