Skip to main content
Log in

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

  • Published:
Artificial Intelligence Review Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Balzer, R., Cheatham, T. E. & Green, C. (1983) Software technology in the 1990's: using a New Paradigm. IEEE Computer, November, 39–45.

  • Bennett, J. (1982) Large computer project problems and their causes. Technical Report. 188, Basser Institute of Computer Science, University of Sydney.

  • Brooks, F. P. (1975) The Mythical Man-Month, Addison-Wesley, Reading, MA, USA.

    Google Scholar 

  • Bundy, A. (1983) The nature of AI: a reply to Schank. The AI Magazine, 4, 29–31.

    Google Scholar 

  • 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 

  • Dijkstra, E. W. (1972) The humble programmer. Communications of the Association of Computing Machinery, 15, 859–866.

    Google Scholar 

  • Dijkstra, E. W. (1976) A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ, USA.

    Google Scholar 

  • 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.)

  • 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 

  • Giddings, R. V. (1984) Accommodating uncertainty in software design. Communications of the Association of Computing Machinery, 27, 428–435.

    Google Scholar 

  • Gries, D. (1981) The Science of Programming. Springer-Verlag, NY, USA.

    Google Scholar 

  • Hayes-Roth, F., Waterman, D. A. & Lenat, D. B. (1983) Building Expert Systems. Addison-Wesley, Reading, MA, USA.

    Google Scholar 

  • Hoare, C. A. R. (1981) The Emperor's Old Clothes. Communications of the Association of Computing Machinery, 24, 75–83.

    Google Scholar 

  • 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).

  • Kuhn, T. S. (1962) The Structure of Scientific Revolutions. University of Chicago, IL, USA.

    Google Scholar 

  • Liskov, B. & Guttag, J. (1986) Abstraction and Specification in Program Development. McGraw-Hill, NY, USA.

    Google Scholar 

  • Mostow, J. (1985) Response to Derek Partridge. The AI Magazine, 6, 51–52.

    Google Scholar 

  • Partridge, D. (1986a) RUDE vs COURTEOUS. The AI Magazine, 6, 28–29.

    Google Scholar 

  • Partridge, D. (1986b) Artificial intelligence: applications in the future of software engineering. Ellis Horwood & Wiley, UK.

    Google Scholar 

  • Partridge, D., Johnston, V. S. & Lopez, P. D. (1984) Computer programs as theories in biology. Journal of Theoretical Biology, 108, 539–564.

    Google Scholar 

  • Schank, R. C. (1983) The current state of AI: one man's opinion. The AI Magazine, 4, 3–8.

    Google Scholar 

  • Sampson, G. (1975) Theory choice in a two-level science. British Journal of the Philosophy of Science, 26, 97–107.

    Google Scholar 

  • 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 

  • Wilks, Y. (1971) Decidability and natural language. Mind, 80, 497–516.

    Google Scholar 

  • Wilks, Y. (1974) One small head: models and theories in linguistics. Foundations of Language, 11, 77–95.

    Google Scholar 

  • Wilks, Y. (1986) Bad metaphors: Chomsky and artificial intelligence. In: Noam Chomsky: Consensus and Controversy (eds S. Mogdil & C. Mogdil).

  • Yourdon, E. (1975) Techniques of Program Structure and Design, Prentice-Hall, Englewood Cliffs, NJ, USA.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Partridge, D., Wilks, Y. Does AI have a methodology which is different from software engineering?. Artif Intell Rev 1, 111–120 (1987). https://doi.org/10.1007/BF00130012

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00130012

Keywords

Navigation