Title
Syntactic Fault Patterns in OO Programs
Abstract
Although program faults are widely studied, there are many aspects of faults that we still do not understand, particularly about OO software. In addition to the simple fact that one important goal during testing is to cause failures and thereby detect faults, a full understanding of the characteristics of faults is crucial to several research areas. The power that inheritance and polymorphism brings to the expressiveness of programming languages also brings a number of new anomalies and fault types. In prior work we presented a fault model for the appearance and realization of OO faults that are specific to the use of inheritance and polymorphism. Many of these faults cannot appear unless certain syntactic patterns are used. The patterns are based on language constructs, such as overriding methods that directly define inherited state variables and non-inherited methods that call inherited methods. If one of these syntactic patterns is used, then we say the software contains an anomaly and possibly a fault. We describe the syntactic patterns for each OO fault type. These syntactic patterns can potentially be found with an automatic tool. Thus, faults can be uncovered and removed early in development.
Year
DOI
Venue
2002
10.1109/ICECCS.2002.1181512
Greenbelt, MD, USA
Keywords
Field
DocType
particularlyabout oo software,characteristicsof fault,program fault,realizationof oo fault,oo fault type,syntactic patternscan,oo programs,fault type,fault model,inheritance andpolymorphism,syntactic fault patterns,unlesscertain syntactic pattern,software reliability,programming language,polymorphism,object oriented programming
Programming language,Object-oriented programming,N-version programming,Computer science,Software fault tolerance,Real-time computing,Software,Software quality,Syntax,Fault model,Software development
Conference
ISBN
Citations 
PageRank 
0-7695-1757-9
6
0.74
References 
Authors
3
3
Name
Order
Citations
PageRank
Roger T. Alexander147127.23
Jeff Offutt22830170.52
James M. Bieman31237121.36