!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN"> PUBLICATIONS



up previous
Up: Curriculum vitae Previous: Research presentations

Remark on links:

There may exist dead links to publications in the Topps Bibliography (the systems people keep moving things around). Last resort: many of the papers can be straightforwardly found via ToppsBib. (LINKS WORKED ON AGAIN: 24 February 2012; more entries and papers will soon be added).

PUBLICATIONS

Books written

Programming languages

Computation theory


Books edited

Programming languages

  1. Proceedings of the 24th Symposium on Principles of Programming Languages (POPL), Paris, France. N.D. Jones, editor, volume 24. Sponsored by the ACM Special Interest Group SIGPLAN, ACM Press, January 1997. ISBN number 0-89791-853-3.
  2. Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM), New Haven, Connecticut. P. Hudak and N. D. Jones, editors. Sponsored by the ACM Special Interest Group SIGPLAN, in cooperation with IFIP, ACM Press, June 1991.
  3. Partial Evaluation and Mixed Computation. D. Bjørner, A. P. Ershov, and N. D. Jones, editors, North-Holland, 1988. Elsevier Science Publishers B.V.
  4. Programs as Data Objects. Harald Ganzinger and Neil D. Jones, editors, volume 217 of Lecture Notes in Computer Science. Springer-Verlag, 1986.
  5. Program Flow Analysis: Theory and Applications. Neil D. Jones and Steven Muchnick, editors. Prentice-Hall, 1981.
  6. Semantics-Directed Compiler Generation. Neil D. Jones, editor, volume 94 of Lecture Notes in Computer Science. Springer-Verlag, 1980.

Both computation theory and programming languages


Journal collections edited

Programming languages


Book chapters

Programming languages

  1. Abstract Interpretation: a Semantics-Based Tool for Program Analysis. Neil D. Jones and Flemming Nielson. In Handbook of Logic in Computer Science. Oxford University Press, 1994. Pages 527-629.
  2. Challenging Problems in Partial Evaluation and Mixed Computation. Neil D. Jones. In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 1-14, North-Holland, 1988. International federation of Information Processing Societies, Elsevier Science Publishers B.V.
  3. Automatic Program Specialization: A Re-Examination from Basic Principles. Neil D. Jones. In D. Bjørner, A.P. Ershov, and N.D. Jones, editors, Partial Evaluation and Mixed Computation, pages 225-282. North-Holland, 1988.
  4. Flow Analysis of Lazy Higher-Order Functional Programs. Neil D. Jones. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 103-122. Ellis Horwood, Chichester, England, 1987.
  5. A Semantics-Based Framework for the Abstract Interpretation of Prolog. Neil D. Jones and Harald Søndergaard. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 123-142, Chichester, England, 1987. Ellis Horwood.

Computation theory

  1. Computer Implementation and Applications of Kleene's S-m-n and Recursion Theorems. Neil D. Jones. In Y. N. Moschovakis, editor, Lecture Notes in Mathematics, Logic From Computer Science, pages 243-263. Springer-Verlag, 1991.

Journal articles

Programming languages
  1. Flow analysis of lazy higher order functional programs (revised). Neil Jones and Nils Andersen. Theoretical Computer Science, 375(1-3):120-136, May 2007.
  2. Redundant call elimination via tupling. Siau-Cheng Khoo Wei-Ngan Chin and Neil Jones. Fundamenta Informaticae, 69(1):1-37, 2005.
  3. Partial Evaluation Termination Analysis and Specialization-Point Insertion. Neil D. Jones and Arne J. Glenstrup. ACM Transactions on Programming Languages and Systems, ?(?):1-101, 2004.
  4. Transformation by interpreter specialisation. Neil D. Jones. Science of Computer Programming, 52:307-339, 2004.
  5. Compiler optimization correctness by temporal logic. Lacey, D. and Jones, N.D. and Van Wyk, E. and Frederiksen, C.C.. Higher Order and Symbolic Computation, 17(3):173-206, 2004.
  6. Higher-Order Minimal Function Graphs. Neil D. Jones and Mads Rosendahl. Journal of Functional and Logic Programming, 1997(2), February 1997. Link to electronic journal.
  7. An Introduction to Partial Evaluation. Neil D. Jones. ACM Computing Surveys, 28(3):480-504, September 1996.
  8. A Positive Supercompiler. Morten Heine Sørensen, Robert Glück, and Neil D. Jones. Journal of Functional Programming, 6(6):811-838, 1996.
  9. Denotational Abstract Interpretation of Logic Programs. K. Marriot, H. Søndergaard, and N. D. Jones. Transactions on Programming Languages and Systems, 1994.
  10. Compiler Generation by Partial Evaluation: a Case Study. Carsten K. Gomard and Neil D. Jones. Structured Programming, 12:123-144, 1991. Also as DIKU-report 88/24 and 90/16.
  11. A Partial Evaluator for the Untyped Lambda Calculus . Carsten K. Gomard and Neil D. Jones. Journal of Functional Programming, 1(1):21-69, January 1991.
  12. Static Semantics, Types and Binding Time Analysis. Neil D. Jones. Theoretical Computer Science, 90:95-118, 1991. Also appeared in Images of Programming, eds. D. Bjørner and V. Kotov, North-Holland.
  13. Mix: A Self-Applicable Partial Evaluator for Experiments in Compiler Generation. Neil D. Jones, Peter Sestoft, and Harald Søndergaard. Lisp and Symbolic Computation, 2(1):9-50, 1989. DIKU Report 91/12.

Computation theory

  1. A note on the complexity of DOL membership. Neil D. Jones and S. Skyum. SIAM Journal on Computing, 10(1)(4), 1981.
  2. Complexity of some problems concerning L systems. Neil D. Jones and S. Skyum. Mathematical Systems Theory, 13:29-43, 1979.
  3. A note on linear time simulation of deterministic two-way pushdown automata. Neil D. Jones. Information Processing Letters, 6(4):110-112, 1977.
  4. Problems complete for deterministic polynomial time. Neil D. Jones and W.T. Laaser. Journal of Theoretical Computer Science, 3:105-117, 1977.
  5. Complexity of some problems in petri nets. Neil D. Jones, L. Landweber, and Y. Lien. Journal of Theoretical Computer Science, 4(23), 1977.
  6. Recognition of deterministic ETOL languages in logarithmic space. Neil D. Jones and S. Skyum. Information and Control, 1977.
  7. New problems complete for nondeterministic log space. Neil D. Jones and E. Lien. Mathematical Systems Theory, 10(1):1-17, 1976.
  8. Space-bounded reducibility among combinatorial problems. Neil D. Jones. Journal of Computer and System Science, 11:68-85, 1975.
  9. Turing machines and the spectra of first order formula with equality. Neil D. Jones and A.L. Selman. Journal of Symbolic Logic, 39(1):139-150, 1974.

Other topics, or both computation theory and programming languages

  1. Computational Complexity via Programming Languages: Constant Factors Do Matter. Amir Ben-Amram and Neil D. Jones. Acta Informaticae 37, pp. 83-120. 2000.
  2. The Expressive Power of Higher-Order Types. Journal of Functional Programming 11(1), pp. 55-94. january, 2001. Special Issue on Functional Programming and Computational Complexity.
  3. LOGSPACE and PTIME Characterized by programming languages. Neil D. Jones. Journal of Theoretical Computer Science, 228, 151-174, 1999.
  4. A precise version of a time hierarchy theorem. Amir Ben-Amram and Neil D. Jones.
    Fundamenta Informaticae 38, pp. 1-15. 1999. Special issue dedicated to Arto Salomaa.
  5. A method for detecting structure in polyhedra. Neil D. Jones, P. Johansen, and J. Clausen. Pattern Recognition Letters, 1984.
  6. Parsers for indexed grammars. Neil D. Jones and R. Sebesta. International Journal Computing and Information Sciences, 7(4):345-359, 1978.
  7. Complexity of finite memory programs with recursion. Neil D. Jones and S. Muchnick. Journal of the ACM, 25(2):312-321, 1978.
  8. Even simple programs are hard to analyze. Neil D. Jones and S. Muchnick. Journal of the ACM, 24(2):338-350, 1977.
  9. A note on the index of a context-free language. Neil D. Jones. Information and Control, 1970.
  10. Context-free languages and rudimentary attributes. Neil D. Jones. Mathematical Systems Theory, 3(2):102-109, 1969. Corrigendum: VOL. 11: 379-380.
  11. Classes of automata and transitive closure. Neil D. Jones. Information and Control, 13:207-209, 1968.


Articles in refereed conference proceedings

Programming languages

  1. The semantics of ``semantic patches" in Coccinelle: Program transformation for the working programmer. Neil D. Jones and Rene Rydhof Hansen. In Proceedings of the Fifth Asian Symposium on Programming Languages and Systems (APLAS 2007), pp. ??-??, Lecture Notes in Computer Science, November 2007.
  2. Termination analysis of higher-order functional programs. Damien Sereni and Neil D. Jones.
    In Proceedings of the Third Asian Symposium on Programming Languages and Systems (APLAS 2005), pp. 281-297 Volume 3780, Springer LNCS, 2005.
  3. Termination Analysis of the Untyped lambda-Calculus. Neil D. Jones and Nina Bohr.
    In Rewriting Techniques and Applications, pp. 1-23 Volume 3091, Springer LNCS, 2004.
  4. Program Generation, Termination, and Binding-time Analysis. Neil D. Jones and Arne Glenstrup.
    In Generative Programming and Component Engineering, (eds. D. Batory, C. Consel, W. Taha), pp. 1-31 Volume 2487, Springer LNCS. October, 2002.
  5. Proving Correctness of Compiler Optimizations by Temporal Logic.
    In ACM Symposium on Principles of Programming Languages, (ed. John Mitchell), pp. 283-294 Volume 29, ACM press. January, 2002.
  6. The Size-Change Principle for Program Termination. Lee, Chin Soon and Jones, Neil D. and Ben-Amram, Amir M. In ACM Principles of Programming Languages, pp. 81-92, ACM Press, January 2001.
  7. Combining Abstract Interpretation and Partial Evaluation (brief overview). Neil D. Jones. In Pascal Van Hentenryck, editor, Static Analysis, volume 1302 of Lecture Notes in Computer Science, pages 396-405. Springer-Verlag, 1997.
  8. Automatic program specialization by partial evaluation: an introduction. Robert Glück and Neil D. Jones. In W. Mackens and S.M. Rump, editors, Software Engineering im Scientific Computing, pages 70-77. Vieweg, 1996.
  9. BTA Algorithms to Ensure Termination of Off-line Partial Evaluation. Arne John Glenstrup and Neil D. Jones. In Perspectives of System Informatics: Proceedings of the Andrei Ershov Second International Memorial Conference, Lecture Notes in Computer Science. Springer-Verlag, jun 25-28 1996.
  10. What Not to Do When Writing an Interpreter for Specialisation . Neil D. Jones. In Olivier Danvy, Robert Glück, and Peter Thiemann, editors, Partial Evaluation, volume 1110 of Lecture Notes in Computer Science, pages 216-237. Springer-Verlag, 1996.
  11. MIX Ten Years Later. Neil D. Jones. In William L. Scherlis, editor, Proceedings of PEPM '95, pages 24-38. ACM, ACM Press, 1995.
  12. Towards Unifying Deforestation, Supercompilation, Partial Evaluation, and Generalized Partial Computation. Morten Heine Sørensen, Robert Glück, and Neil D. Jones. In D. Sannella, editor, European Symposium on Programming, volume 788 of Lecture Notes in Computer Science, pages 485-500. Springer-Verlag, 1994.
  13. The Essence of Program Transformation by Partial Evaluation and Driving. Neil D. Jones. In Masahiko Sato Neil D. Jones, Masami Hagiya, editor, Logic, Language and Computation, a Festschrift in honor of Satoru Takasu, pages 206-224. Springer-Verlag, April 1994.
  14. Abstract Interpretation and Partial Evaluation in Functional and Logic Programming . Neil D. Jones. In Maurice Bruynooghe, editor, Logic Programming. Proceedings of the 1994 International Symposium,. The MIT Press, 1994.
  15. Efficient Algebraic Operations on Programs. Neil D. Jones. In T. Rus, editor, Springer Workshop Series, April 1993.
  16. Partial Evaluation, Self-Application and Types. Neil D. Jones. In Automata, Languages and Programming, pages 639-659. Springer-Verlag, July 1990.
  17. A Self-Applicable Partial Evaluator for the Lambda Calculus. Neil D. Jones, Carsten K. Gomard, Anders Bondorf, Olivier Danvy, and Torben Æ. Mogensen. In 1990 International Conference on Computer Languages, New Orleans, Louisiana, March 1990, pages 49-58. IEEE Computer Society, March 1990.
  18. Data Flow Analysis of Applicative Programs Using Minimal Function Graphs . N. D. Jones and A. Mycroft. In Proceedings of the Symposium on Principles of Programming Languages (POPL), volume 13, pages 296-306, St. Petersburg, Florida, 1986.
  19. A relational approach to program flow analysis. Neil D. Jones and Alan Mycroft. In Harald Ganzinger and Neil D. Jones, editors, Programs as Data Objects, volume 217 of Lecture Notes in Computer Science, pages 112-135. Springer-Verlag, 1986.
  20. Towards a theory of compiler generation. Neil D. Jones and M. Tofte. In D. Bjørner, editor, Proc. Workshop on Formal Software Development Methods. North-Holland, 1986.
  21. An experiment in partial evaluation: the generation of a compiler generator. Neil D. Jones, Peter Sestoft, and Harald Søndergaard. In J.-P. Jouannoud, editor, Proceedings Conference on Rewriting Techniques and Applications, volume 202 of Lecture Notes in Computer Science, pages 125-140. Springer Verlag, 1985.
  22. Stepwise development of operational and denotational semantics for Prolog. Neil D. Jones and A. Mycroft. In Proceedings International Conference on Logic Programming. IEEE Computer Society, 1984.
  23. Control flow treatment in a simple semantics-directed compiler generator. Neil D. Jones and H. Christiansen. In Formal Description of Programming Concepts II, pages 73-99. North-Holland, 1983.
  24. A flexible approach to interprocedural data flow analysis. Neil D. Jones and S. Muchnick. In Proceedings of the Symposium on Principles of Programming Languages (POPL), volume 9, pages 66-74, 1982.
  25. A fixed-program machine for combinator evaluation. Neil D. Jones and S. Muchnick. In ACM Symposium on LISP and Functional Programming, pages 11-20, 1982.
  26. Flow analysis of lambda expressions. Neil D. Jones. In Automata Languages And Programming, volume 115, pages 114-128, Lecture Notes in Computer Science, 1981. Springer-Verlag.
  27. Control flow aspects of an algebraic approach to compiler generation. Neil D. Jones and H. Christiansen. In Mathematical Studies of Information Processing, pages 110-137, 1981.
  28. Compiler generation from denotational semantics. Neil D. Jones and D. Schmidt. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 70-93. Springer-Verlag, 1980.
  29. Flow analysis and optimization of Lisp-like structures. Neil D. Jones and S. Muchnick. In Proceedings of the Symposium on Principles of Programming Languages (POPL), volume 6, pages 244-256, 1979.
  30. Automatic optimization of binding times. Neil D. Jones and S. Muchnic. In Proceedings of the Symposium on Principles of Programming Languages (POPL), volume 3, pages 77-94, 1976.

Computation theory

  1. Program Speedups in Theory and Practice. Neil D. Jones. In B. Pehrson and I. Simon, editors, IFIP Transactions Technology and Foundations Information Processing '94, volume Volume 1, pages 595-602. Elsevier Science B.V., August 1994.
  2. Generalizing Cook's Transformation to Imperative Stack Programs. Nils Andersen and Neil D. Jones. In Juhani Karhumäki, Hermann Maurer, and Grzegorz Rozenberg, editors, Results and Trends in Theoretical Computer Science, volume 812 of Lecture Notes in Computer Science, pages 1-18. Springer-Verlag, 1994.
  3. Constant Time Factors Do Matter. N. D. Jones. In Steven Homer, editor, STOC '93. Symposium on Theory of Computing, pages 602-611. ACM Press, 1993.
  4. Experiments with Implementations of two Theoretical Constructions. Torben A. Hansen, T, Nikolajsen, J. L. Traeff, Neil D. Jones. In Logic at Botik, volume 363 of Lecture Notes in Computer Science, pages 119-133. Springer-Verlag, 1989.
  5. Finite automata with nonstandard scan patterns. Neil D. Jones. In Proceedings 5th Princeton Conference on Information Science and Systems, pages 455-455, 1971.
  6. Some current developments in formal language theory. Neil D. Jones. In John F. Hart, editor, Proceedings Computer Science Association, London, Ontario, Canada, 1966.

Other topics, or both computation theory and programming languages

  1. The flow of data and the complexity of algorithms. Lars Kristiansen and Neil D. Jones. In New Computational Paradigms: First Conference on Computability in Europe, CiE 2005, pp. 263-274, Lecture Notes in Computer Science, June 2005.
  2. Complexity of flow analysis, inductive assertion synthesis, and a language due to Dijkstra. Neil D. Jones and S. Muchnick. In 21st Symposium on Foundations of Computer Science, pages 185-190. IEEE, 1980.
  3. Attribute-influenced LR parsing. Neil D. Jones and M. Madsen. In Neil D. Jones, editor, Semantics-Directed Compiler Generation, volume 94 of Lecture Notes in Computer Science, pages 393-407. Springer-Verlag, 1980.
  4. Interpreting transition matrices - a novel application of microprogramming. Neil D. Jones and S. Oliver. In ACM SIGMINI-SIGPLAN Interface Meeting on Programming Systems in the Samll Processor Environment, pages 70-77, 1976.
  5. Priority paging algorithms and the extension problem. Neil D. Jones and E.G. Coffmann. In Proceedings Symposium in Switching and Automata Theory, volume 12, pages 171-181, 1971.

Unrefereed articles

  1. Semantique: Semantic-Based Program Manipulation Techniques. N. D. Jones. Bulletin European Association for Theoretical Computer Science, 39:74-83, 1989.
  2. Blindfold games are harder than games with perfect information. Neil D. Jones. Bulletin European Association for Theoretical Computer Science, 6:4-7, 1978.
  3. Automata: A teaching aid for mathematical machines. Neil D. Jones, L.L. Rose, and B.H. Barnes. ACM Special Interest Group on computer Science Education Newsletter, 3(1):12-20, 1971.
  4. Discrete structures in the undergraduate computer science curriculum. Neil D. Jones and G. Engel. ACM SIGGSE Bulletin, 5(1):56-59, 1973.

Technical reports

  1. Binding time analysis and the taming of self-application. Anders Bondorf, Neil D. Jones, Torben Mogensen, and Peter Sestoft. Technical report, DIKU, University of Copenhagen, Denmark, 1988.
  2. Diku, the institute of computer science at the University of Copenhagen. Neil D. Jones. Technical report, DIKU, University of Copenhagen, 1984, 1987.
  3. Towards automating the transformation of programming language specification into compilers, Part II. Neil D. Jones. Technical Report 85/9, DIKU, University of Copenhagen, 1986.
  4. Towards automating the transformation of programming language specification into compilers. Neil D. Jones. Technical report, DIKU, University of Copenhagen, 1985.
  5. Datalogi 2 notes: Functions, expressions, programming languages, computability. Neil D. Jones. Technical Report 84/7, DIKU, University of Copenhagen, 1984.
  6. Some principles and notations for compiler generation. Neil D. Jones and M. Tofte. Technical report, DIKU, University of Copenhagen, 1983.
  7. A universal compiler: Towards a compiler generator based on denotational semantics. Neil D. Jones, D. Schmidt, and S. Muchnick. Technical Report IR-17, DAIMI, University of Aarhus, Denmark, 1980.
  8. Circularity testing of attribute grammars requires exponential time: A simpler proof. Neil D. Jones. Technical Report PB/107, DAIMI, University of Aarhus, Denmark, 1980.
  9. PL/85 users manual. Neil D. Jones and U. Pleban. Technical Report TR/76-3, University of Kansas, 1976.
  10. Functions computable by space-bounded turing machines. Neil D. Jones. Technical Report 103, The Pennsylvania State University, Department of Computer Science, 1972.
  11. Experimental secondary school course in computer science. Neil D. Jones. Technical report, University of Western Ontario, Computer Science Department, 1966.
  12. IBM 7040 ALGOL compiler. Neil D. Jones, P. Russel, A.G. Wilford, and W. Wilson. Technical report, University of Western Ontario,Computer Science Department, 1966.
  13. A survey of formal language theory, M.A. thesis. Neil D. Jones. Technical report, University of Western Ontario, Computer Science Department, 1965.
  14. 1620 ALGOL compiler: Subroutine package. Neil D. Jones. Technical report, Southern Illinois University, Computing Center, 1962.
  15. Iliad Compiler Manual. W.F. Blose Neil D. Jones, D. Rector, and J. White. Technical report, Southern Illinois University, Computing Center, 1961.


Neil D. Jones
February 24, 2012