Text and reference books referred to below are (S) Sethi, R., Programming Languages: Concepts and Constructs, Addison Wesley, second edition, 1996. and (ASU) Aho, A.V., Sethi, R., and Ullman, J. D., Compilers: Principles, Practices and Techniques, Addison-Wesley, 1986. Copies of ASU are on permanent reserve in the Math Library. Recall that Rutgers University Libraries subscribe to both the ACM and IEEE Computer Society Digital Libraries, so that many of these articles are available electronically (although we cannot point into these resources). All 'on reserve' books listed below are subject to confirmation that they are in the Rutgers Library collection.
ASU Ch 4.5,4.7-4.9.
ASU Ch 5.1-5.6, S Ch 13.1-13.2
S Ch 11,13.3
on reserve:
R. Davis, "Logic programming and prolog: a
tutorial", IEEE Software, vol 2, no 5, Sept 1985,
(available from the IEEE Digial Library, maybe);
R. Kowalski, Algorithm = Logic + Control, in Programming Languages, edited by Horowitz;
W.F. Clocksin and C.S. Mellish, Programming in Prolog, Springer-Verlag, 1987 (or the newer edition of this book);
other sources include:
J. Cohen, ``Describing Prolog by its
Interpretation and Compilation'', CACM, December 1985
(see ACM Digital Library);
L. Stirling and E. Shapiro, The Art of Prolog:Advanced Programming Techniques, MIT Press, 2nd edition, 1994;
Online Prolog:
ASU Ch 8.1,8.3-8.6
other sources:
J. Cohen, and J. Hickey, Parsing and Compiling Using Prolog,
ACM TOPLAS, Vol 9 no 2, April 1987.(see ACM Digital Library)
ASU Ch 6, S Ch 4
other sources:
L. Cardelli, and P. Wegner, ``On Understanding Types,Data
Abstraction, and Polymorphism'', ACM Computing Surveys, December
1985, (see ACM Digital Library).
S Ch 13.6, 14.1-14.4
on reserve:
Glaser et.al, Principles of
Functional Programming, Ch 3.1-3.3 (exerpts).
G. Michaelson, "An Introduction to Functional Programming Through Lambda Calculus", Addison-Wesley, 1989, Ch 4 on recursion;
S Ch 8, 9
Online SML:
On reserve:
L.C. Paulson, ML for the Working Programmer, Cambridge
University Press, 1991;
Mutability, Iterators, semantics of data abstraction: abstraction function and representation invariant, generics, specification.
on reserve:
B. Liskov and J. Guttag, Abstraction and
Specification in Program Development, McGraw Hill, 1986, exerpts
(book is now out of print).
S Ch 6, 7.1-7.3, 7.6
on reserve:
T. Budd, Understanding Object-oriented Programming with Java (updated edition), Addison-Wesley, 2000, exerpts.
Online Java:
other sources:
D. Bacon and P. Sweeney, "Fast Static Analysis of C++ Virtual Functions Calls", in Proceedings of ACM SIGPLAN Conference on Object-oriented Programing Systems, Languages and Applications (OOPSLA'96), 324-341, October 1996 (see ACM Digital Library)
F. Tip and J. Palsberg, "Scalable Propagation-based Call Graph Construction Algorithms", in Proceedings of OOPSLA'00, ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'00), pages 281-293, October 2000, (see ACM Digital Library).
A. Rountev, A. Milanova, B. G. Ryder, "Points-to Analysis for Java using Annotated Constraints", Proceedings of ACM SIGPLAN Conference on Object-oriented Programing Systems, Languages and Applications (OOPSLA'01), 43-55, October 2001, (see ACM Digital Library)
A. Milanova, A. Rountev, B. G. Ryder, "Parameterized Object
Sensitivity for Points-to Analysis for Java" in ACM Transactions on
Software Engineering Methodology, Volume 14, Number 1, pp 1-41,
January 2005 (see ACM Digital Library).
other sources:
Tian Zhao, Jens Palsberg and Jan Vitek, "Type-based Confinement", Journal of Functional Programming, (to appear) 2005.
Boris Bokowski and Jan Vitek, "Confined Types for Java", Software Practice and Experience, 31(6), 2001
Christian Grothoff, Jens Palsberg and Jan Vitek, "Encapsulating Objects with Confined Types", Proceedings of the 2001 ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA'01)
James Noble, John Potter and Jan Vitek, "Flexible Alias Protection", Proceedings of the European Conference on Object Oriented Programming (ECOOP'98), 1998.
on reserve:
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J-M Loingtier, J. Irwin, , "Aspect-oriented Programming", ECOOP 1997.
papers from the October 2001 special issue of Communications of the ACM on aspects (available in the ACM Digital Library)
G. Kiczles, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W. Griswold, "An Overview of Aspect J", ECOOP 2001.
G.C. Murphy, A. Lai, R.J. Walker, M.P. Robillard, "Separating
Features in Source Code: An Exploratory Study", ICSE 2001 (see the ACM
Digital Library).
T. Ball and J. Larus, "Efficient path profiling", Proceedings of MICRO96, pp 46-57, December 1996.
B. Dufour, K. Driesen, L. Hendren, and C. Verbrugge. "Dynamic
Metrics for Java". in OOPSLA'03. October 2003, (see ACM Digital Library).
get a source for JVMPI