Artificial Intelligence Review

, Volume 1, Issue 2, pp 111–120 | Cite as

Does AI have a methodology which is different from software engineering?

  • D. Partridge
  • Y. Wilks


This paper argues that the conventional methodology of software engineering is inappropriate to AI, but that the failure of many in AI to see this is producing a Kuhnian paradigm ‘crisis’. The key point is that classic software engineering methodology (which we call SPIV: Specify-Prove-Implement-Verify) requires that the problem be capable of being circumscribed or surveyed in a way that it is not, for areas of AI, like natural language processing. In addition, it also requires that a program be open to formal proof of correctness. We contrast this methodology with a weaker form complete Specification And Testability (SAT — where the last term is used in a strong sense: every execution of the program gives decidably correct/incorrect results) which captures both the essence of SPIV and the key assumptions in practical software engineering. We argue that failure to recognize the inability to apply the SAT methodology to areas of AI has prevented development of a disciplined methodology (which is unique to AI and which we call RUDE: Run-Understand-Debug-Edit) that will accommodate the peculiarities of AI and also yield robust, reliable, comprehensible, and hence maintainable AI software.


Neural Network Natural Language Nonlinear Dynamics Software Engineering Weak Form 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Balzer, R., Cheatham, T. E. & Green, C. (1983) Software technology in the 1990's: using a New Paradigm. IEEE Computer, November, 39–45.Google Scholar
  2. Bennett, J. (1982) Large computer project problems and their causes. Technical Report. 188, Basser Institute of Computer Science, University of Sydney.Google Scholar
  3. Brooks, F. P. (1975) The Mythical Man-Month, Addison-Wesley, Reading, MA, USA.Google Scholar
  4. Bundy, A. (1983) The nature of AI: a reply to Schank. The AI Magazine, 4, 29–31.Google Scholar
  5. DeMillo, R. A., Lipton, R. J. & Perlis, A. J. (1979) Social processes and proofs of theorems and programs. Communications of the Association of Computing Machinery, 22, 271–280.Google Scholar
  6. Dijkstra, E. W. (1972) The humble programmer. Communications of the Association of Computing Machinery, 15, 859–866.Google Scholar
  7. Dijkstra, E. W. (1976) A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ, USA.Google Scholar
  8. Duffy, M. C. (1984) Technomorphology, engineering design and technological method. Proceedings of the Annual Conference of the British Society for the Philosophy of Science. (unpublished.)Google Scholar
  9. Gazdar, G. (1985) NLs, CFLs, and CF-PSGs. In: Automatic Natural Language Parsing (eds K.Sparck-Jones and Y.Wilks) Ellis Horwood, West Sussex, UK.Google Scholar
  10. Giddings, R. V. (1984) Accommodating uncertainty in software design. Communications of the Association of Computing Machinery, 27, 428–435.Google Scholar
  11. Gries, D. (1981) The Science of Programming. Springer-Verlag, NY, USA.Google Scholar
  12. Hayes-Roth, F., Waterman, D. A. & Lenat, D. B. (1983) Building Expert Systems. Addison-Wesley, Reading, MA, USA.Google Scholar
  13. Hoare, C. A. R. (1981) The Emperor's Old Clothes. Communications of the Association of Computing Machinery, 24, 75–83.Google Scholar
  14. Kowalski, R. (1984) Software engineering and artificial intelligence in new generation computing, The SPL-Insight 1983/84 Award Lecture. Datamation, 30,no. 18 (revised version).Google Scholar
  15. Kuhn, T. S. (1962) The Structure of Scientific Revolutions. University of Chicago, IL, USA.Google Scholar
  16. Liskov, B. & Guttag, J. (1986) Abstraction and Specification in Program Development. McGraw-Hill, NY, USA.Google Scholar
  17. Mostow, J. (1985) Response to Derek Partridge. The AI Magazine, 6, 51–52.Google Scholar
  18. Partridge, D. (1986a) RUDE vs COURTEOUS. The AI Magazine, 6, 28–29.Google Scholar
  19. Partridge, D. (1986b) Artificial intelligence: applications in the future of software engineering. Ellis Horwood & Wiley, UK.Google Scholar
  20. Partridge, D., Johnston, V. S. & Lopez, P. D. (1984) Computer programs as theories in biology. Journal of Theoretical Biology, 108, 539–564.Google Scholar
  21. Schank, R. C. (1983) The current state of AI: one man's opinion. The AI Magazine, 4, 3–8.Google Scholar
  22. Sampson, G. (1975) Theory choice in a two-level science. British Journal of the Philosophy of Science, 26, 97–107.Google Scholar
  23. Simon, T. W. (1979) Philosophical objections to programs as theories. In Philosophical Perspectives in AI (ed. Ringle) Humanities Press, Atlantic Highlands, NJ, USA.Google Scholar
  24. Wilks, Y. (1971) Decidability and natural language. Mind, 80, 497–516.Google Scholar
  25. Wilks, Y. (1974) One small head: models and theories in linguistics. Foundations of Language, 11, 77–95.Google Scholar
  26. Wilks, Y. (1986) Bad metaphors: Chomsky and artificial intelligence. In: Noam Chomsky: Consensus and Controversy (eds S. Mogdil & C. Mogdil).Google Scholar
  27. Yourdon, E. (1975) Techniques of Program Structure and Design, Prentice-Hall, Englewood Cliffs, NJ, USA.Google Scholar

Copyright information

© Intellect Ltd 1987

Authors and Affiliations

  • D. Partridge
    • 1
  • Y. Wilks
    • 1
  1. 1.Computing Research LaboratoryNew Mexico State UniversityLas CrucesUSA

Personalised recommendations