Results 1 -
2 of
2
Checking Program Profiles
- IN PROCEEDINGS OF THE THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION
, 2003
"... Execution profiles have become increasingly important for guiding code optimization. However, little has been done to develop ways to check automatically that a profile does, in fact, reflect the actual execution behavior of a program. This paper describes a framework that uses program monitoring te ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Execution profiles have become increasingly important for guiding code optimization. However, little has been done to develop ways to check automatically that a profile does, in fact, reflect the actual execution behavior of a program. This paper describes a framework that uses program monitoring techniques in a way that allows the automatic checking of a wide variety of profile data. We also describe our experiences with using an instance of this framework to check edge profiles. The profile checker uncovered profiling anomalies that were previously unknown and that would have been very difficult to identify using existing techniques.
Object-Oriented programs and Testing
, 1990
"... this paper, we prove this result by applying test adequacy axioms to certain major features of object-oriented languages --- in particular, encapsulation in classes, overriding of inherited methods, and multiple inheritance pose various difficulties for adequately testing a program. Note that our re ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper, we prove this result by applying test adequacy axioms to certain major features of object-oriented languages --- in particular, encapsulation in classes, overriding of inherited methods, and multiple inheritance pose various difficulties for adequately testing a program. Note that our results do not indicate that there is a flaw in the general wisdom that classes promote reuse (which they in fact do), but that some of the attendant assumptions about reuse are mistaken (that is, those concerning testing) Our past work in object-oriented languages has been concerned with multiple inheritance and issues of granularity as they support reuse [10,11]. Independently, we have developed several technologies for change management in large systems [12,14,20] and recently have been investigating the problems of testing as a component of the change process [13], especially the issues of integration and regression testing. When we began to apply our testing approach to object-oriented programs, we expected that retesting object-oriented programs after changes would be easier than retesting equivalent programs written in conventional languages. Our results, however, have brought this thesis into doubt. Testing object-oriented programs may still turn out to be easier than testing conventional-language programs, but there are certain pitfalls that must be avoided. First we explain the concepts of specification- and program-based testing, and describe criteria for adequate testing. Next, we list a set of axioms for test data adequacy developed in the testing community for program-based testing. We then apply the adequacy axioms to three features common to many object-oriented programming languages, and show why the axioms may require inherited code to be retested. 2. Testin...

