USING SOFTWARE QUALITY ANALYSIS TOOLS IN THE DEVELOPMENT OF AN EQUIPMENT ACCESS LIBRARY
C.H. Sicard, Olga Maria Formigoni Carvalho Walter · CERN Document Server (European Organization for Nuclear Research) · 1996
In the process of re-engineering a critical code library, central to the CERN PS equipment access mechanism, a principal objective was to guarantee the best level of confidence for software quality and reliability. This paper presents the experience gathered in using modern software quality tools for this purpose. Test coverage completeness measures have been used to guarantee exhaustive test cases. Metrics for software defects found during the test, integration and operational phases are discussed. The equipment access library is a central piece of software for the equipment controls and one of their lowest layers. Since all the applications of the upper layers are based on it, it has to be particularly reliable. While developping the applications, bugs linked to the library layer are difficult to identify. Therefore, it is necessary to ensure the best quality level within the development phase. Assessment of software quality is essential to meet this goal. 1. DEVELOPMENT CONSTRAINTS AND OBJECTIVES OF THE QUALITY CONTROL 1.1 Characteristics of an equipment access library Control software is quite complex. It relies on many components, and especially on the equipment access library, which belongs to one of its lowest layers [Ref. 1]. The current version of the equipment access library amounts to 13500 lines and 2300 statements. The library is used by upper layer applications as well as by real-time tasks located on the control computers (front-end). Different levels of call are possible : high and low level interfaces are provided (Fig. 1). high-level interface low-level functions Real-time tasks Applications Figure 1. Interface levels for the equipment access library. The equipment access library has also quite a long lifetime since it is used in many applications that do not change every year. Some upgrades of the library may be necessary during the operational period for maintenance reasons. Such changes have to be done with very short delays. This is why a quick and complete validating procedure is essential. One of the main characteristics of the equipment access library is that it is data-driven. The descriptions of equipment classes are stored in a database which generates a data-table to be linked with the applications. A list of equipment classes is associated with each front-end computer. 1.2 Testing the library According to these characteristics, a testing policy had to be designed. For the high-level interface, test case generation is simplified by the fact that a single calling sequence allows one to access a great number of functions (called properties). For the low-level interface, specific test procedures have to be designed for each function or group of related functions. The tests themselves can be data-driven with test data associated to each procedure. Furthermore, specific test classes have to be defined in order to test the new features of the library. Thus, the conception of the tests implies the definition of test modules at the library side and the definition of test case data and test procedures at the test program side (Fig. 2). dynamic data Front-end computer