Skip to main content
Log in

Learning to construct quality software with the Ceilidh system

  • Papers
  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

This paper describes the Ceilidh software quality control environment for the teaching of computer programming. Ceilidh provides students with an integrated environment for developing programs according to specifications and quality standards defined by the teacher. The student's programs are automatically assessed from a number of perspectives including dynamic correctness, program complexity and programming style. The assessment of programs is carried out according to well established software metrics and students may repeatedly re-assess their programs, enabling them gradually to work towards a quality target. The paper gives an overview of the functionality of Ceilidh followed by a more detailed description of the software metrics used. It also discusses some of the insights gained from several years' use at Nottingham. Finally, the paper outlines plans for the future development of Ceilidh including a pilot project involving 30 UK institutes of higher education funded under the Universities Funding Council's Teaching and Learning Technology Programme (TLTP). The paper should be of particular interest to anyone involved in teaching programming, whether it be in university, in schools or in industry, who might wish to construct a similar system or who might wish to obtain and use Ceilidh directly. It should also be of interest to those looking for experiences gained from large-scale applications of software quality metrics.

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

  • BernG.M. (1984) Assessing software maintainability. Communications of the ACM, 27, 14–23.

    Article  Google Scholar 

  • BerryR.E. and MeekingsB.A.E. (1985) A style analysis of C programs. Communications of the ACM, 28, 80–88.

    Google Scholar 

  • Chidamber, S.R. and Kemerer, C.F. (1991) Towards a metrics suite for object oriented design, in Proceedings of OOPSLA '91, pp. 197–211.

  • ColemanM. and PrattS. (1986) Software Engineering for Students. Chartwell-Bratt, Bromley, UK.

    Google Scholar 

  • ConwayR. (1978) A Primer on Discipline Programming. Winthrop, Cambridge, Mass.

    Google Scholar 

  • HalsteadM. (1977) Elements of Software Science. North Holland, Amsterdam.

    Google Scholar 

  • HenryS. and KafuraD. (1984) The evaluation of software system's structure using quantitative software metrics. Software — Practice and Experience, 14, 561–573.

    PubMed  Google Scholar 

  • HowdenW.E. (1975) Methodology for the generation of test data. IEEE Transactions on Computing, 24, 554–560.

    Google Scholar 

  • KernighanB.W. and PlaugerP.J. (1974) The Elements of Programming Style. McGraw-Hill, New York.

    Google Scholar 

  • McCabeT. (1976) A software complexity measure. IEEE Transactions on Software Engineering, 2, 308–320.

    Google Scholar 

  • MillerE. (1980) Coverage measure definitions reviewed. Testing Tech. Newletter, 3(Nov.), 6.

    Google Scholar 

  • OmanP.W. and CookC.R. (1988) A paradigm for programming style research. SIGPLAN Notices, 23, 69–78.

    Google Scholar 

  • Oviedo, E.I. (1980) Control flow, data flow and program complexity, in Proceedings of IEEE COMPSAC, pp. 146–152.

  • RappsS. and WeyukerE.J. (1985) Selecting software test data using data flow information. IEEE Transactions on Software Engineering, 11, 367–375.

    Google Scholar 

  • RedishK.A. and SmythW.F. (1987) Evaluating measures of program quality. The Computer Journal, 30(3) 228–232.

    Google Scholar 

  • Rees, M.J. Automatic assessment aid for Pascal programs. SIGPLAN Notices, 17, 33–42.

  • Van Verth, P.B. (1985) A system for automatically grading program quality. SUNY (Buffalo) Technical Report.

  • WeyukerE.W. (1982) On testing non-testable program. The Computer Journal, 25, 465–470.

    Google Scholar 

  • WoodwardM.R., HedleyD. and HennelM.A. (1980) Experience with path analysis and testing of programs. IEEE Transactions on Software Engineering, 6, 278–286.

    Google Scholar 

  • YauS.S. and ColofelloJ.S. (1980) Some stability measures for software maintenance. IEEE Transactions on Software Engineering, 6, 545–552.

    Google Scholar 

  • Mohd Zin, A. and Foxley, E. (1992) The oracle program. LTR Report, Computer Science Department, Nottingham University.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Benford, S., Burke, E. & Foxley, E. Learning to construct quality software with the Ceilidh system. Software Qual J 2, 177–197 (1993). https://doi.org/10.1007/BF00402268

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation