Automatic Programming: Bibliography

Automated Software Engineering journal.

IEEE Trans. on Software Engineering

Proceedings of Automated Software Engineering (ASE) Conference. ; ASE Proceedings, 1997-2002, 2004 ; 2003 ASE Proceedings (Click on the date to get to the proceedings.) Selected Papers

IEEE Software, special issue on Software Synthesis, May 1993.

IEEE Trans. on Software Engineering, special issue on Artificial Intelligence and Software Engineerting, vol. 11, no. 11, Nov. 1985.

Abelson, H., et al., ``Intelligence in Scientific Computing'', Communications of the ACM, vol. 32, no. 5 (May 1989), pp. 546-562. PDF (1.61 MB)

Adve, S. V., et al., ``Changing Interaction of Compiler and Architecture,'' IEEE Computer, vol. 30, no. 12 (Dec. 1997), pp. 51-58. PDF (128 KB)

R. Akers, E. Kant, C. Randall, S. Steinberg, and R. Young, "SciNapse: A Problem-Solving Environment for Partial Differential Equations," IEEE Computational Science & Engineering Vol. 4, No. 3, July-Sept. 1997, pp 32-42. PDF

R. Akers, I. Bica, E. Kant, C. Randall, and R. Young, "SciFinance: A Program Synthesis Tool for Financial Modeling." AI Magazine, Vol. 22, No. 2, Summer 2001. PDF

Albin-Amiot, H.; Cointe, P.; Gueheneuc, Y.-G.; Jussien, N., "Instantiating and Detecting Design Patterns: Putting Bits and Pieces Together", Proc. Automated Software Engineering Conf., 2001, pp. 166-173. PDF (751 KB)

Azaria, H. and Dvir, A., ``An Optimizing Compiler for an SPAP Architecture Using AI Tools'', IEEE Computer, vol. 25, no. 6 (June 1992), pp. 39-48. pdf (1144 KB)

R. Balzer, ``A 15 Year Perspective on Automatic Programming'', IEEE Trans. on Software Engineering, vol. 11, no. 11 pp. 1257-1267, Nov. 1985.

D. Batory and S. O'Malley, ``The Design and Implementation of Hierarchical Software Systems with Reusable Components,'' ACM Trans. on Software Engineering and Methodology, vol. 1, no. 4, pp. 355-398, Oct. 1992.

Batory, D., et al., ``Scalable Software Libraries'', Proc. ACM SIGSOFT '93: Symposium on the Foundations of Software Engineering, Los Angeles, CA, Dec. 1993.

D. Batory, J. Thomas, and M. Sirkin, ``Reengineering a Complex Application Using a Scalable Data Structure Compiler,'' in Proc. ACM SIGSOFT '94, Dec. 1994.

Batory, D.; Gang Chen; Robertson, E.; Tao Wang: "Design wizards and visual programming environments for GenVoca generators", IEEE Trans. Software Engineering, vol. 26, no. 5, May 2000, pp. 441-452 PDF (536 KB)

D. Batory, J. Sarvela, and A. Rauschmayer, ``Scaling Step-Wise Refinement'', IEEE Trans. Software Engineering, vol. 30, no. 6, June 2004, pp. 355-371. [PDF Full-Text (1440 KB)]

Baxter, Ira, ``Design Maintenance Systems'', Communications of the ACM, Vol. 35, No. 3 (April 1992), pp. 73-89. PDF (3 MB)

I. Baxter, C. Pidgeon, and M. Mehlich, ``DMS: Program Transformations for Practical Scalable Software Evolution'', Proc. Int'l Conf. Software Eng., 2004. PDF

Other papers by Ira Baxter and Semantic Designs

Berlin, A. and D. Weise, ``Compiling Scientific Code Using Partial Evaluation'', IEEE Computer, vol. 23, no. 12 (Dec. 1990), pp. 25-37. [PDF Full-Text (1160KB)]

Bhansali, Sanjay, and Tim J. Hoar, ``Automated Software Synthesis: An Application in Mechanical CAD,'' IEEE Trans. on Software Engineering, vol. 24, no. 10 (Oct. 1998), pp. 848-862. [PDF Full-Text (240 KB)]

Biggerstaff, T. and A. Perlis (eds), Software Reusability (2 vols.), ACM Press / Addison-Wesley, 1989.

Biggerstaff, T., ``A New Architecture for Transformation-Based Generators,'' IEEE Trans. on Software Engineering, vol. 30, no. 12 (Dec. 2004), pp. 1036-1054. [PDF Full-Text (856 KB)]

Bledsoe, W., ``Term Rewriting Systems and Complete Sets of Reductions'', Univ. of Texas, 1993.

Bobrow, D., ``If Prolog is the Answer, What is the Question? or What it Takes to Support AI Programming Paradigms'', IEEE Trans. on Software Engineering, vol. SE-11, no. 11 (Nov. 1985).

Borning, A., ``The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory'', ACM Trans. on Programming Languages and Systems, vol. 3, no. 4 (Oct. 1981), pp. 353-387. PDF (2 MB)

Brooks, F. P., ``No Silver Bullet: Essence and Accidents of Software Engineering'', IEEE Computer, vol. 20, no. 4 (April 1987), pp. 10-19.

Buntine, W.; Norvig, P.; Van Baalen, J.; Spiegelhalter, D.; Thomas, A.: "Will domain-specific code synthesis become a silver bullet?", IEEE Intelligent Systems, vol. 13, no. 2 (Mar/Apr 1998), pp. 9-15. PDF (1184 KB)

Cleaveland, J. C., An Introduction to Data Types, Addison-Wesley, 1986.

C. Consel and O. Danvy, ``Tutorial Notes on Partial Evaluation,'' ACM Symp. on Principles of Programming Languages, 1993, pp. 493-501. PDF(1.09 MB)

``The Common Object Request Broker: Architecture and Specification,'' TC Document 91.12.1, Revision 1.1, Object Management Group, Dec. 1991.

Czarnecki, K. and Eisenecker, U., Generative Programming: Methods, Tools and Applications, Addison-Wesley, 2000.

Dahl, O.-J. and Nygaard, K., ``SIMULA -- An ALGOL-based Simulation Language,'' Communications of the ACM, vol. 9, no. 9 (Sept. 1966), pp. 671-678. PDF (1.07 MB)

Dewar, R. B. K., The SETL Programming Language, manuscript, 1980.

Feldman, Y. A. and Friedman, D. A., ``Portability by automatic translation: A large-scale case study,'' Artificial Intelligence, vol. 107, no. 1 (Jan. 1999).

Fischer, G., et al., ``Supporting Software Designers with Integrated Domain-Oriented Design Environments'', IEEE Trans. on Software Engineering, vol. 18, no. 6 (June 1992), pp. 511-522. PDF (1192 KB)

E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

Garlan, D., ``Views for Tools in Integrated Environments'', in R. Conradi et al. (eds.), Lecture Notes in Computer Science, vol. 244: Advanced Programming Environments, Springer-Verlag, 1986.

Goguen, J. A., ``Reusing and Interconnecting Software Components'', IEEE Computer, Feb. 1986, pp. 16-28.

Goguen, J. A., ``Principles of Parameterized Programming'', in Biggerstaff, pp. 159-225.

Goguen, J. A., Guilian Wang, Young-Kwang Nam, and Kai Lin, "Abstract Schema Morphisms and Schema Matching Generation", 2004. PDF

Goguen, J. A. and Will Tracz, "An Implementation-Oriented Semantics for Module Composition", PS.GZ

Gordon, M. J. C., The Denotational Description of Programming Languages, Springer-Verlag, 1979.

Gries, D. and Prins, J., ``A New Notion of Encapsulation'', ACM SIGPLAN Notices, vol. 20, no. 7 (July 1985), pp. 131-139.

D. Gries and D. Volpano, ``The Transform -- a New Language Construct,'' Structured Programming, vol. 11, no. 1, pp. 1-10, 1990.

W. Harrison and H. Ossher, ``Subject-Oriented Programming (A Critique of Pure Objects),'' Proc. OOPSLA-93, ACM SIGPLAN Notices, vol. 28, no. 10, pp. 411-428, Oct. 1993.

Herlihy, M. and B. Liskov, ``A Value Transmission Method for Abstract Data Types'', ACM Trans. on Programming Languages and Systems, vol. 4, no. 4 (Oct. 1982), pp. 527-551.

Hewett, R. and Hewett, M., ``A Knowledge-Based Framework for Automated Software Synthesis'', Automated Software Engineering, vol. 1, 281-314, 1994.

Hill, Fredrick N., ``Negotiated Interfaces for Software Reusability'' (thesis), Tech. Report AI-85-16, A.I. Lab, C.S. Dept., Univ. of Texas at Austin, 1985.

I. M. Holland, ``Specifying Reusable Components Using Contracts,'' in O. Lehrmann Madsen (ed.), Proc. 6th European Conf. Object-Oriented Prog. (ECOOP-92), LNCS 615, pp. 287-308, Springer, July 1992.

John, Ajita and Browne, J.C., "Compilation of Constraint Programs with Non-Cyclic and Cyclic Dependencies to Procedural Parallel Programs," 1998.

Neil D. Jones, Carsten K. Gomard, and Peter Sestoft, Partial Evaluation and Automatic Program Generation, Prentice Hall, 1993. online copy, local copy PDF (1.75 MB)

Jones, Neil D., "An Introduction to Partial Evaluation," ACM Computing Surveys, vol. 28, no. 3 (Sept. 1996), pp. 480-503. pdf (547 KB)

Kaiser, G. and D. Garlan, ``Synthesizing Programming Environments from Reusable Features'', in Biggerstaff, pp. 35-55.

Kane, Kevin and Browne, James C., "CoorSet: A Development Environment for Associatively Coordinated Components". PDF

Kant, Elaine: also see Akers and Randall.

Kant, E., ``Understanding and Automating Algorithm Design'', IEEE Trans. on Software Engineering, vol. 11, no. 11, Nov. 1985, pp. 1361-1374.

Kant, E., et al., ``Scientific Programming by Automated Synthesis'', in Lowry, pp. 169-205.

Kant, E., ``Synthesis of Mathematical Modeling Software'', IEEE Software, May 1993, pp. 30-41. PDF (1324 KB)

Keller, R., M. Rimon, and A. Das, ``A Knowledge-Based Prototyping Environment for Construction of Scientific Modeling Software,'' Automated Software Engineering, vol. 1, pp. 79-128, March 1994.

Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin, ``Aspect-Oriented Programming'', in ECOOP '97, vol. 1241 of LNCS, Springer-Verlag, June 1997. citeseer, PDF

Knuth, D. E and Bendix, P. E., ``Simple word problems in universal algebras'', in J. Leech (ed.), Computational Problems in Abstract Algebra, Pergammon Press, 1970, pp. 263-297.

Krueger, Charles W., ``Software Reuse'', ACM Computing Surveys, vol. 24, no. 2 (June 1992), pp. 131-184. PDF (4.96 MB)

Kruchten, P., E. Schonberg, and J. Schwartz, ``Software Prototyping using the SETL Language'', IEEE Software, vol. 1, no. 4 (Oct. 1984), pp. 66-75.

Lamb, D., ``IDL: Sharing Intermediate Representations'', ACM Transactions on Programming Languages and Systems, vol. 9, no.3 (July 1987), pp. 267-318.

Lowry, M. and R. McCartney, eds., Automating Software Design, AAAI Press / MIT Press, 1991.

Michael R. Lowry and Jeffrey Van Baalen, "META-AMPHION: Synthesis of Efficient Domain-Specific Program Synthesis Systems", Automated Software Engineering vol. 4, no. 2 (April 1997), pp. 199-241. PDF

Mahmood, Nasim, Guosheng Deng, and James C. Browne, "Compositional Development of Parallel Programs". PDF

Manna, Z. and Waldinger, R., ``Fundamentals of Deductive Program Synthesis'', IEEE Trans. on Software Engineering, vol. 18, no. 8, Aug. 1992. PDF (2204 KB)

McCain, Norm and McPhee, Nick, ``Term Rewriting Systems and the Knuth-Bendix Completion Algorithm'', Univ. of Texas, 1988.

Jose Meseguer, Miguel Palomino, and Narciso Marti-Oliet, "Equational Abstractions", Proc. 19th Int. Conf. on Automated Deduction, Springer-Verlag LNCS, 2003. PS.GZ

Meyers, S., ``Difficulties in Integrating Multiview Development Systems'', IEEE Software, vol. 8, no. 1 (Jan. 1991), pp. 49-57. PDF (964 KB)

H. Mili, F. Mili, and A. Mili, ``Reusing Software: Issues and Research Directions,'' IEEE Trans. Soft. Engr., vol. 21, no. 6, pp. 528-562, June 1995. PDF (3788 KB)

R. Neches, R. Fikes, T. Finin, T. Gruber, R. Patil, P. Senator, and W. Swartout, ``Enabling Technology for Knowledge Sharing,'' AI Magazine, vol. 12, no. 3, pp. 36-56, Fall 1991. Also see Stanford's Knowledge-Sharing page.

J. Neighbors, ``The Draco Approach to Constructing Software from Reusable Components,'' IEEE Trans. on Software Engineering, vol. 10, no. 5, Sept. 1984, pp. 564-574.

Newton, Peter and Browne, J. C., ``The CODE 2.0 Graphical Parallel Programming Language'', Proc. ACM International Conf. on Supercomputing, July 1992.

Novak, G., Lecture notes for CS 394P, Automatic Programming, by Contents or by Index

Novak, G., ``The GEV Display Inspector/Editor'', Tech. Report HPP-82-32, Heurstic Programming Project, Computer Science Department, Stanford Univ., 1982.

Novak, G., ``GLISP: A LISP-Based Programming System With Data Abstraction'', AI Magazine, vol. 4, no. 3, Fall 1983, pp. 37-47.

Novak, G., ``GLISP User's Manual,'' Tech. Report STAN-CS-82-895, C.S. Dept., Stanford Univ., 1982; TR-83-25, A.I. Lab, C.S. Dept., Univ. of Texas at Austin.

Novak, G., F. Hill, M. Wan, and B. Sayrs, ``Negotiated Interfaces for Software Reuse'', IEEE Trans. on Software Engineering, vol. 18, no. 7 (July 1992).

Novak, G., ``Software Reuse through View Type Clusters'', Proc. 7th Knowledge-Based Software Engineering Conference, IEEE Computer Society Press, Sept. 1992, pp. 70-79.

Novak, G., ``Generating Programs from Connections of Physical Models'', Proc. 10th IEEE Conf. on A. I. for Applications (CAIA-94), San Antonio, March 1994, pp. 224-230 (IEEE Computer Society Press). Describes VIP.

Novak, G., ``Composing Reusable Software Components through Views,'' Proceedings of the 9th Knowledge-Based Software Engineering Conference (KBSE-94), Monterey, CA, Sept. 1994, pp. 39-47.

Novak, G., ``Conversion of Units of Measurement'', IEEE Trans. on Software Engineering, vol. 21, no. 8 (Aug. 1995), pp. 651-661.

Novak, G., ``Creation of Views for Reuse of Software with Different Data Representations'', IEEE Trans. on Software Engineering, vol. 21, no. 12 (Dec. 1995), pp. 993-1005. Describes MKV.

Novak, G., ``Software Reuse by Specialization of Generic Procedures through Views,'' IEEE Transactions on Software Engineering, vol. 23, no. 7 (July 1997), pp. 401-417. Describes VIEWAS.

Novak, G., ``Reuse by Specialization through Views,'' Proc. 9th Workshop on Institutionalizing Software Reuse (WISR-99), Austin TX, Jan. 1999, 5 pp.

Novak, G., ``Interactions of Abstractions in Programming,'' Abstraction, Reformulation, and Approximation: 4th Int'l Symposium (SARA-2000), Horseshoe Bay, TX, July 2000. Lecture Notes in Artificial Intelligence 1864, pp. 185-201, ISBN 3-540-67839-5, Springer-Verlag, 2000.

Novak, G., ``Composition of Generic Software Components'', 2005.

Paige, R. and Koenig, S., ``Finite Differencing of Computable Expressions'', ACM Transactions on Programming Languages and Systems, vol. 4, no. 3 (July 1982), pp. 402-454. pdf (2.68 mb)

Parnas, (D. L., "On the Crieria To Be Used in Decomposing Systems into Modules," Communications of the ACM, vol. 15, no. 12 (Dec. 1972), pp. 1053-1058. PDF (590 KB)

Paulson, L. C., ML for the Working Programmer, Cambridge Univ. Press, 1991.

ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation. ACM PEPM Symposia

C. Randall, E. Kant, and A. Chhabra, "Using Program Synthesis to Price Derivatives," The Journal of Computational Finance, Vol. 1, No. 2, 1998, pp 97-125.

Reddy, Uday, ``Design Principles for an Interactive Program-Derivation System'', in Lowry, pp. 453-482.

Reed-Lade, Margaret G., ``Grammar Acquisition and Parsing of Semi-Structured Text'' (thesis), Tech. Report AI-89-105, Artificial Intelligence Laboratory, Univ. of Texas at Austin, 1989.

Rich, C. and R. Waters (eds), Readings in Artificial Intelligence and Software Engineering, San Mateo, CA: Morgan Kaufmann, 1986.

Rich, C. and R. Waters, ``Automatic Programming: Myths and Prospects'', IEEE Computer, vol. 21, no. 8 (Aug. 1988), pp. 40-51. [PDF Full-Text (1140KB)]

Rich, C. and R. Waters, The Programmer's Apprentice, ACM Press, 1990.

Schaefer, M., A Mathematical Theory of Global Program Optimization, Prentice-Hall, 1973.

Schonberg, E., J. T. Schwartz, and M. Sharir, ``An Automatic Technique for Selection of Data Representations in SETL Programs'', ACM Trans. on Prog. Lang. and Systems, vol. 3, no. 2 (April 1981), pp. 126-143. PDF (1.22 MB)

Setliff, D., ``On the Automatic Selection of Data Structures and Algorithms'', in Lowry, pp. 207-226.

Setliff, D. and R. Rutenbar, ``Knowledge Representation and Reasoning in a Software Synthesis Architecture'', IEEE Trans. on Software Engineering, vol. 18, no. 6 (June 1992), pp. 523-533. PDF (1144 KB)

Simon, H. A., ``Whether Software Engineeering Needs to be Artificially Intelligent'', IEEE Trans. on Software Engineering, vol. 12, no. 7 (July 1986), pp. 726-732.

C. Simonyi, "Intentional Programming - Innovation in the Legacy Age," Presented at IFIP Working Ggroup 2.1 meeting, June 4, 1996. See CiteSeer online

C. Simonyi, "The Death of Computer Languages, The Birth of Intentional Programming", Technical Report MSR-TR-95-52, Microsoft Research, 1995. online copy

Sirkin, M., D. Batory and V. Singhal, ``Software Components in a Data Structure Precompiler'', Tech. Report TR-92-29, Univ. of Texas at Austin, May 1992.

Smith, Douglas R., ``KIDS: A Semiautomatic Program Development System'', IEEE Trans. on Software Engineering, vol. 16, no. 9 (Sept. 1990), pp. 1024-1043. [PDF Full-Text (1584 KB)]

Smith, Douglas R., ``KIDS -- A Knowledge-based Software Development System'', in Lowry, pp. 483-514.

Smith, Douglas R., "Toward a Classification Approach to Design", Proc. Fifth International Conference on Algebraic Methodology and Software Technology, AMAST '96, LNCS 1101, Springer-Verlag, 1996. PS (305 KB)

Smith, Douglas R., "A Generative Approach to Asepect-Oriented Programming", Proc. Generative Programming and Component Engineering (GPCE '04), LNCS, Springer-Verlag, 2004. PDF (137 KB)

Steele, G., Common Lisp, Digital Press, 1990.

Stickel, M., Waldinger, R., Lowry, M., Pressburger T., and Underwood, I., "Deductive Composition of Astronomical Software from Subroutine Libraries", in 12th Conference on Automated Deduction, Nancy, France, June 28-July 1, 1994. In Automated Deduction, A. Bundy, ed., Springer-Verlag Lecture Notes in Computer Science, Vol. 814. CiteSeer , local copy PS (447 KB), Fig. 1: Where is the shadow of Io on Jupiter?

Thibault, S.A.; Marlet, R.; Consel, C. "Domain-specific languages: from design to implementation - application to video device drivers generation.", IEEE Trans. on Software Engineering, vol. 25, no. 3 (May/June 1999), pp. 363 - 377. PDF (252 KB)

W. Tracz, ``LILEANNA: A parameterized programming language,'' 2nd Int'l Workshop on Software Reuse (IWSR-2), IEEE CS Press, 1993, pp. 66-78.

D. Turner, ``An Overview of Miranda,'' SIGPLAN Notices, Dec. 1986.

Volpano, D. and R. Kieburtz, ``The Templates Approach to Software Reuse'', in Biggerstaff, pp. 247-255.

Wan, Man-Lee, ``Menu-Based Creation of Procedures for Display Of Data'' (thesis), Tech. Report AI-85-18, A.I. Lab, C.S. Dept., Univ. of Texas at Austin, 1985.

S. Wang, S Malik, "Synthesizing operating system based device drivers in embedded systems",