Improving Software Testability with Assertion Insertion
نویسندگان
چکیده
Executable assertions can be inserted into a program to nd software faults. Unfortunately, the process of designing and embedding these assertions can be expensive and time consuming. We have developed the C-Patrol tool to reduce the overhead of using assertions in C programs. C-Patrol allows a developer to reference a set of previously de ned assertions, written in virtual C, bind assertion parameters, and direct the placement of the assertions by a pre-processor.
منابع مشابه
Behavior-Preserving Transformations for Design-for-Test
An important aspect in the design of hardware/software systems is design-for-test. Improving the testability of a hardware/software system typically implies improving the controllability and observability of the internal system behavior. This can be achieved by introducing Points of Control and Observation (PCOs) in a system. In this paper, we examine the effects of PCO insertion in a behaviora...
متن کاملSoftware Testability Measurement for Assertion Placement and Fault Localization
Software testability the tendency for software to reveal its faults during testing is an important issue for veri cation and quality assurance Testability measurement can also be used to good advantage as a debugging aide In this paper we propose using testability measures for assertion place ment and fault isolation One measure of testability is a technique termed Sensitivity Analysis This tec...
متن کاملFault Insertion in Concurrent Object-Oriented Programs for Mutation Analysis and Testability Measurement
Testability measurement and mutation analysis approaches require programs to be seeded with faults that represent plausible programmer errors. Software testability [5] is defined as the likelihood of a program failing on the next test input from a predefined input distribution, given that there is a fault in the program. Mutation analysis [2] requires the insertion of faults into a program with...
متن کاملTestability of Software Systems
Software testing is one of the most expensive phase of the software development life cycle. Testing object oriented software is more expensive due to various features like abstraction, inheritance etc. The cost of testing can be reduced by improving the software testability. Software testability of a class is generally measured in terms of the testing effort which is equal to the number of test...
متن کاملHierarchical interfaces for hardware software systems
Competent design of hierarchical interfaces for hardware/software systems needs the convergence of three concurrent research directions: the study of hierarchy types, the intelligent communication between different domains, the formalization of verification/test. We aim to extend the theory of hierarchy types, in order to integrate communication properties as well as correctness and testability...
متن کامل