PRAM: A Courseware System for the Automatic Assessment of AI Programs

  • C. A. Higgins
  • F. Z. Mansouri
Part of the Studies in Fuzziness and Soft Computing book series (STUDFUZZ, volume 36)


In industry, metrics are extremely important and are used to anticipate errors and problems, for instance. These frequently arise at a later stage during the use of products developed by teams of programmers and designers; applying metrics can thus save costs particularly for “maintenance.” However, metrics are also useful in academia. For example they can be used in tools to measure students programs, improving learning, and allowing the marking and assessment of students’ progress while learning a particular programming language.


Logic Programming Prolog Program Automatic Assessment Student Program Regular Expression Match 
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. [1]
    Azem, A., Belli, F. and Jedrzejowicz, P. (1994), “Reliability prediction and estimation of Prolog programs,” IEEE Trans. on Reliability, Vol. 43, No. 4, December.Google Scholar
  2. [2]
    Baker, H.G. (1997), “When bad programs happen to good people,” ACM SIGPLAN Notices, Vol. 32, No. 3, March.Google Scholar
  3. [3]
    Basili, V.R. and Rerricone, B.T. (1984), “Software errors and complexity: an empirical investigation,” Communications of the ACM, Vol. 27, pp. 42–52.CrossRefGoogle Scholar
  4. [4]
    Bental, D (1993), “Why doesn’t my program work? Requirements for automated analysis of novices’ computer programs,” Workshop on automated program understanding AI&ED 93, World conference on AI in Education.Google Scholar
  5. [5]
    Beizer, B. (1990), Software testing techniques,2nd Edition, International Thomson Computer Press.Google Scholar
  6. [6]
    Berry and Meekings (1985), “A style analysis of C programs,” Communications of the ACM, Vol. 28.Google Scholar
  7. [7]
    Bratko, I. (1990), Prolog programming for Artificial Intelligence,2nd Ed. Addison-Wesley.Google Scholar
  8. [8]
    Bronowski, J. (1973), The Ascent of Man, Little, Brown & Co., Boston/Toronto.Google Scholar
  9. [9]
    Calani Baranauskas, M.C. (1995), “Observational studies about novices interacting in a Prolog environment based on tools,” Instructional Science, Vol. 23, pp. 89–109.CrossRefGoogle Scholar
  10. [10]
    Collins English Dictionary,HarperCollins Publishers.Google Scholar
  11. [11]
    Covington, M.A. (1985), `Eliminating loops in Prolog,“ ACM SIGPLAN Notices, Vol. 20, No. 1.Google Scholar
  12. [12]
    Curtis (1979), “In search of software complexity,” Workshop on quantitative software models for reliability, pp. 95–106.Google Scholar
  13. [13]
    Evangelist, W.M. (1983), “Software Complexity metrics sensitivity to program structuring rules,” Journal of system and software, Vol. 3, pp. 231–243.CrossRefGoogle Scholar
  14. [14]
    Fenton, N. (1991), Software metrics: A rigorous approach, Chapmann & Hall, London.MATHGoogle Scholar
  15. [15]
    Foxley, E., Higgins, C.A. and Burke, E. (1996), “The Ceilidh system: A general overview 1996,” Monitor, CTI COMPUTING, newsletter Vol. 7.Google Scholar
  16. [16]
    Henry and Kafura (1981), “Software structure metrics based on information flow,” IEEE Transaction on Software Eng. Vol. SE-7 (5), p. 510–518.Google Scholar
  17. [17]
    Darbydownman, K. and Little, K. (1997), “Critical factors in the evolution of logic programming and Prolog,” European Journal of Information Systems, Vol. 6: 1, pp. 67–75.CrossRefGoogle Scholar
  18. [18]
    Joseph, K. et al. (1986), “Software complexity measurement,” Communications of the ACM, Vol. 29, pp. 1044–1050.CrossRefGoogle Scholar
  19. [19]
    Kaposi, A., Kassovitz, L. and Markusz, Z. (1979), “PRIMLOG, a case for augmented Prolog programming,” Proc. Informatica, Bled, Yugoslavia.Google Scholar
  20. [20]
    Kaplan, M. (1991), “A plea for readable pleas for readable Prolog programming style,” SIGPLAN Notices, Vol. 26:2, pp. 41–50, Feb.Google Scholar
  21. [21]
    Kearney, J.K., Sedlmeyer, R.L., Thompson, W.B., Gray, M.A. and Adler, M.,A. (1986), “Software complexity measurement,” Communications of the ACM, Vol. 29, pp. 1044–1050.CrossRefGoogle Scholar
  22. [22]
    Kernigham, B.W. (1981), Software tools in Pascal,Prentice Hall.Google Scholar
  23. [23]
    Looi, C.-K. (1991), “Automatic debugging of Prolog programs in a Prolog intelligent tutoring system,” Instructional Science, Vol. 20, pp. 215–263.CrossRefGoogle Scholar
  24. [24]
    Mansouri, F.Z. and Higgins, C.A. (1997), “Prolog: An annotated bibliography,” ACM SIGPLAN Notices, Vol. 32: 9, pp. 47–53.CrossRefGoogle Scholar
  25. [25]
    Markusz, Z. and Kaposi, A.A. (1985), “Control in logic-based programming,” Computer Journal, Vol. 28, pp. 487–495.CrossRefGoogle Scholar
  26. [26]
    Matsumoto, H.A. (1985), “Static analysis of Prolog programs,” SIGPLAN Notices. Vol. 20:10, pp. 48–59, Oct.Google Scholar
  27. [27]
    McCauley, R.A. (1992), Conceptual complexity analysis of logic programs,PhD thesis.Google Scholar
  28. [28]
    McCabe, T.J. (1976), “A complexity measure,” IEEE Transaction on software Engineering, Vol. SE-2:4, Dec.Google Scholar
  29. [29]
    Myers, M. (1989), “Structural modelling of Prolog for metrication,” Proceedings of the 2nd European software engineering conference(ESEC), SPRINGER, Coventry, UK 387, pp. 351–375, May.Google Scholar
  30. [30]
    O’Keefe, R. (1990), The Craft of Prolog,MIT press.Google Scholar
  31. [31]
    Redish, K.A., Smyth, W.F. and Sutherland, P.G. (1984), “AUTOMARK — An experimental system for marking student programs,” Proceedings of CIPS, Calgary, Alberta, Canada, pp. 43–46, Canadian Information Processing Society, May.Google Scholar
  32. [32]
    ), SICStus Prolog User’s Manual,Swedish Institute of Computer Science, Release 3#0, June.Google Scholar
  33. [33]
    Wohlin, C. (1996), “Revisiting Measurement of software complexity,” Proceedings ASIA Pacific Software Engineering Conference, Seoul, South Korea, pp. 4–7, Dec.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • C. A. Higgins
    • 1
  • F. Z. Mansouri
    • 1
  1. 1.School of Computer Science and ITUniversity of NottinghamNottinghamUK

Personalised recommendations