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.
Similar content being viewed by others
References
BernG.M. (1984) Assessing software maintainability. Communications of the ACM, 27, 14–23.
BerryR.E. and MeekingsB.A.E. (1985) A style analysis of C programs. Communications of the ACM, 28, 80–88.
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.
ConwayR. (1978) A Primer on Discipline Programming. Winthrop, Cambridge, Mass.
HalsteadM. (1977) Elements of Software Science. North Holland, Amsterdam.
HenryS. and KafuraD. (1984) The evaluation of software system's structure using quantitative software metrics. Software — Practice and Experience, 14, 561–573.
HowdenW.E. (1975) Methodology for the generation of test data. IEEE Transactions on Computing, 24, 554–560.
KernighanB.W. and PlaugerP.J. (1974) The Elements of Programming Style. McGraw-Hill, New York.
McCabeT. (1976) A software complexity measure. IEEE Transactions on Software Engineering, 2, 308–320.
MillerE. (1980) Coverage measure definitions reviewed. Testing Tech. Newletter, 3(Nov.), 6.
OmanP.W. and CookC.R. (1988) A paradigm for programming style research. SIGPLAN Notices, 23, 69–78.
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.
RedishK.A. and SmythW.F. (1987) Evaluating measures of program quality. The Computer Journal, 30(3) 228–232.
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.
WoodwardM.R., HedleyD. and HennelM.A. (1980) Experience with path analysis and testing of programs. IEEE Transactions on Software Engineering, 6, 278–286.
YauS.S. and ColofelloJ.S. (1980) Some stability measures for software maintenance. IEEE Transactions on Software Engineering, 6, 545–552.
Mohd Zin, A. and Foxley, E. (1992) The oracle program. LTR Report, Computer Science Department, Nottingham University.
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00402268