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.
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.
Bundy, A. (1983) The nature of AI: a reply to Schank. The AI Magazine, 4, 29–31.
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.
Dijkstra, E. W. (1972) The humble programmer. Communications of the Association of Computing Machinery, 15, 859–866.
Dijkstra, E. W. (1976) A Discipline of Programming, Prentice-Hall, Englewood Cliffs, NJ, USA.
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.
Giddings, R. V. (1984) Accommodating uncertainty in software design. Communications of the Association of Computing Machinery, 27, 428–435.
Gries, D. (1981) The Science of Programming. Springer-Verlag, NY, USA.
Hayes-Roth, F., Waterman, D. A. & Lenat, D. B. (1983) Building Expert Systems. Addison-Wesley, Reading, MA, USA.
Hoare, C. A. R. (1981) The Emperor's Old Clothes. Communications of the Association of Computing Machinery, 24, 75–83.
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.
Liskov, B. & Guttag, J. (1986) Abstraction and Specification in Program Development. McGraw-Hill, NY, USA.
Mostow, J. (1985) Response to Derek Partridge. The AI Magazine, 6, 51–52.
Partridge, D. (1986a) RUDE vs COURTEOUS. The AI Magazine, 6, 28–29.
Partridge, D. (1986b) Artificial intelligence: applications in the future of software engineering. Ellis Horwood & Wiley, UK.
Partridge, D., Johnston, V. S. & Lopez, P. D. (1984) Computer programs as theories in biology. Journal of Theoretical Biology, 108, 539–564.
Schank, R. C. (1983) The current state of AI: one man's opinion. The AI Magazine, 4, 3–8.
Sampson, G. (1975) Theory choice in a two-level science. British Journal of the Philosophy of Science, 26, 97–107.
Simon, T. W. (1979) Philosophical objections to programs as theories. In Philosophical Perspectives in AI (ed. Ringle) Humanities Press, Atlantic Highlands, NJ, USA.
Wilks, Y. (1971) Decidability and natural language. Mind, 80, 497–516.
Wilks, Y. (1974) One small head: models and theories in linguistics. Foundations of Language, 11, 77–95.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF00130012