Skip to main content

A Survey and a Categorization Scheme of Automatic Programming Systems

  • Conference paper
  • First Online:
Generative and Component-Based Software Engineering (GCSE 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1799))

  • 246 Accesses

Abstract

Automatic Programming (AP) systems have been used in a great variety of ways since the early days of software engineering. They have been used in AI related research approaches with the aim to generate computer programs from informal, incomplete, natural language-like specifications as well as in more pragmatic approaches related to 4th level languages. Terms such as “application generator”, “transformational system”, “code synthesizer”, “generative software development” were used for naming various approaches to AP. This paper presents a categorization scheme for AP systems. In this categorization scheme, a clear distinction is made between the AI related, hard AP- and soft AP systems. After that, a broad range of AP systems as well as their position in the categorization scheme is presented. Finally we discuss the relation between AP and software reuse.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. R. Balzer, “A 15 Year Perspective on AP”, IEEE Transactions on Software Engineering, November 1985, pp. 1257–1267

    Google Scholar 

  2. C. Rich, R.C. Waters, “AP: Myths and Prospect”, IEEE Computer, August 1988, pp. 40–51

    Google Scholar 

  3. F. P. Brooks, Jr., “No silver bullet: essence and accidents of software engineering”, IEEE Computer Magazine, April 1987, pp. 10–19

    Google Scholar 

  4. H. Mili, F. Mili, A. Mili, „Reusing Software: Issues and Research Directions“, IEEE Transactions on Software Engineering, June 1995, pp. 528–562

    Google Scholar 

  5. C.W. Krueger, „Software Reuse“, ACM Computing Surveys, June 1992, pp. 132–183

    Google Scholar 

  6. T. Biggerstaff, C. Richter. “Reusability Framework, Assessment and Directions”, IEEE Software, March 1987

    Google Scholar 

  7. J. Vlissides, “Generation gap (software design pattern)”, C++ Report, Nov.-Dec. 1996, p. 12, 14–18

    Google Scholar 

  8. J. Cleaveland, „Building Application Generators“, IEEE Software, July 1988, pp. 25–33

    Google Scholar 

  9. No Author, “Foreword”, IEEE Software, May 1993, pp. 7–9

    Google Scholar 

  10. D.R. Barstow, “Domain-Specific AP”, IEEE Transactions on Software Engineering, November 1985, pp. 1321–1336

    Google Scholar 

  11. W.T. Tsai et.al., “A critical look at the relationship between AI and software engineering”, Proceedings of the 1988 IEEE Workshop on Languages for Automation: Symbiotic and Intelligent Robots, p. 2–18

    Google Scholar 

  12. C. Willis and D. Paddon, „A software engineering paradigm for program synthesis“, Software Engineering Journal, September 1994, pp. 213–220

    Google Scholar 

  13. D.R. Barstow, R. Duffey, S. Smoliar, and S. Vestal, “An Overview of ΦNIX”, Amer. Ass. Artificial Intelligence, Pitsburgh, PA, August 1982

    Google Scholar 

  14. C. Green, “The design of the PSI program synthesizing system”, Proceedings of the 2nd International Conference on Software Engineering, October 1976, Long Beach, California, pp. 4–18, IEEE CS Press

    Google Scholar 

  15. Z. Manna, R. Waldinger, „Dreams→Programs“, IEEE Transaction on Software Engineering, July 1979, pp. 294–328

    Google Scholar 

  16. C. Rich, H.E. Schrobe, R.C. Waters, “An overview of the programmers apprentice”, Proceedings of the 6th International Joint Conference on Artificial Intelligence, August 1979, Tokyo, Japan, pp. 827–828

    Google Scholar 

  17. R. Balzer, N. Goldman, and D. While, “Informality in Program Specification”, IEEE Transactions on Software Engineering, March 1978, pp. 94–103

    Google Scholar 

  18. R. Balzer, N. Goldman, and D. Wile, “Final Report on GIST”, Technical Report of the Institute of Information Science, University of Southern California, Los Angeles, 1981

    Google Scholar 

  19. E. Kant, D. Barstow, “The Refinement Paradigm: The Interaction of Coding and Efficiency Knowledge in Program Synthesis”, IEEE Transactions on Software Engineering, September 1981, pp. 458–471

    Google Scholar 

  20. E. Horowitz, A. Kemper, B. Narasimhan, “A Survey of Application Generators”, IEEE Software, January 1985, pp. 40–54

    Google Scholar 

  21. N. Derschowitz, “Synthetic programming”, Artificial Intelligence, No. 25, 1985, pp. 323–373

    Article  Google Scholar 

  22. X. Jia, S. Skevoulis, “Code Synthesis Based on Object-Oriented Design Models and Formal Specifications”, Proceedings of the 22nd Computer Software & Applications Conference 1998, August 19–21, 1998, Vienna, Austria, pp. 393–398, IEEE CS Press

    Google Scholar 

  23. S. Jarzabek, „From reuse library experiences to application generation architectures“, ACM, Proceedings of the Symposion on Software Reuse 1995, pp. 114–122

    Google Scholar 

  24. M.E. Lesk, E. Schmidt, “Lex: A Lexical Analyzer Generator”, UNIX Programmer’s Manual-Supplementary Documents, 7th Edition, AT&T Bell Laboratories, Indianapolis, USA

    Google Scholar 

  25. S.C. Johnson, “Yacc: Yet Another Compiler Compiler”, UNIX Programmer’s Manual-Supplementary Documents, 7th Edition, AT&T Bell Laboratories, Indianapolis, USA

    Google Scholar 

  26. S. Jarzabek, „Specifying and Generating Multilanguage Software Development Environments“, Software Engineering Journal, March 1990, pp. 125–137

    Google Scholar 

  27. R. Fischer, “Zusammenfassung der 3 rd SIGSOFT Conference on Software Development Environments”, Mini Micro Magazin, April 1989, pp. 31–33

    Google Scholar 

  28. A. W. Biermann, “Approaches to AP”, in M. Rubinoff, M.C. Yovits, (Editors): “Advances in Computers”, Academic Press, 1976 pp.1–63

    Google Scholar 

  29. D. Partridge, “Connectionism as a software engineering paradigm”, Advanced Information Systems, January 1993, pp. 7–14

    Google Scholar 

  30. J. Martin, “Application Development Without Programmers”, Prentice Hall, Englewood Cliffs, N. J., 1982

    Google Scholar 

  31. P.C. Masiero, C.A.A. Meira, „Development and Instantiation of a Generic Application Generator“, Journal of Systems Software, 1993, Issue 23, pp. 27–37

    Google Scholar 

  32. D. Shafer, ”Automatic Pascal Code Generation with Prototyper 2.0”, Journal of Pascal, Ada & Modula 2, March/April 1989, pp. 58–220

    Google Scholar 

  33. T. Church and Philip Matthews, „An Evaluation of Object-Oriented CASE Tools: The Newbridge Experience“, Proceedings of the 7th International Workshop on Computer-Aided Software Engineering 1995, IEEE Computer Society Press, pp. 4–9

    Google Scholar 

  34. G. Kiczales, „Aspect Oriented Programming“, 8th Annual Workshop on Institutionalizing Software Reuse, WISR8, March 23–26 1997

    Google Scholar 

  35. W. Goebl, “The Significance of Generative Software Reuse in the Domain of Data-Oriented Information Systems”, Ph.D Thesis, Technical University of Vienna, 1999

    Google Scholar 

  36. B. Bhansali, „A Hybrid Approach to Software Reuse“, Proceedings of the Symposion on Software Reusability 1995, ACM Software Engineering Notes, Special Issue August 1995 pp. 215–218

    Google Scholar 

  37. B. Pieber, W. Goebl, “A Generative Approach for Building Data-Oriented Information Systems”, Proceedings of the 22nd Computer Software & Applications Conference 1998, August 19–21, 1998, Vienna, Austria, pp. 278–284, IEEE CS Press, 1998

    Google Scholar 

  38. D. Batory, B.J. Geraci, “Validating Component Compositions in Software System Generators“, Proceedings of the 4th International Conference on Software Reuse, April 23–26, 1996, Orlando Florida, IEEE Computer Society Press, pp. 72–81

    Google Scholar 

  39. J.M. Neighbors, „The Draco Approach to Constructing Software From Reusable Components“, IEEE Transactions on Software Engineering, September 1984, pp. 564–574

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goebl, W. (2000). A Survey and a Categorization Scheme of Automatic Programming Systems. In: Czarnecki, K., Eisenecker, U.W. (eds) Generative and Component-Based Software Engineering. GCSE 1999. Lecture Notes in Computer Science, vol 1799. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40048-6_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-40048-6_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41172-7

  • Online ISBN: 978-3-540-40048-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics