Fault Diagnosis In Object Oriented Software Computer Science Essay

To run into the demands of todays continually germinating package development, organisations must optimise the usage of their limited resources and must present quality merchandises on clip within the budget. This requires prevetion of mistake debut and speedy find and fix of residuary mistakes. In this paper, a new theoretical account for foretelling and identifying of mistakes in object-oriented package systems is introduced. In peculiar, mistakes due to the usage of heritage and polymorphism are considered as they account for signii¬?cant part of mistakes in object-oriented systems. A mistake forecaster is later established to place the mistake type of single mistake classii¬?cation. It is concluded that the proposed theoretical account outputs high favoritism truth between faulty and fault-free categories.

Data excavation and information retrieval techniques have the possible to undertake voluminous informations and aid in mistake direction. Computers are bettering in their velocity and functionality. Unfortunately, the trouble in utilizing them is besides increasing. Their unexpected behaviour at times is frequently a cause of defeat for the users. Identifying the cause of such behaviour and i¬?xing them is going a daunting undertaking. Users used to place certain symptoms and trust on aid centres, seller supported aid database, hunt engines and web-forums for a solution. More frequently, the user may stop up in giving/getting incomplete/insufi¬?cient information. The whole procedure is repeated for each such user confronting a job. Automatizing the mistake diagnosing job and planing robust mistake identii¬?cation and direction systems is the demand of the hr. Fault sensing is by and large handled by analysing certain symptoms. Software dependability can be dei¬?ned as the chance of failure-free operation of a computing machine plan execution in a specii¬?ed environment for a specii¬?ed clip. It is frequently considered a package quality factor that can help in foretelling the overall quality of a package system utilizing standard prognostic theoretical accounts. Predictive theoretical accounts of package mistakes use historical and current development informations to do anticipations about defectiveness of package subsystems/modules. Although package mistakes have been widely studied in both procedural and object-oriented plans, there are still many facets of mistakes that remain ill-defined. This is true particularly for object-oriented package systems in which heritage and polymorphism can do a figure of anomalousnesss and mistake types.Unfortunately, bing techniques used to foretell mistakes in procedural package are non by and large applicable in object-oriented systems.

Some recent surveies [ 3 ] , [ 4 ] study the usage of object-oriented prosodies to foretell fault-proneness and figure of mistakes by using assorted statistical methods and nervous web techniques. However, they by and large stop at the job of mistake anticipation without effort to further qualify the mistakes likely nowadays in the system. In this paper, a new method of mistake anticipation is introduced along with a method for classii¬?cation of mistake type. For the grounds mentioned earlier, mistakes due to inheritance and polymorphism are of particular involvement in this work.

The job of foretelling whether a package category is defective is viewed as a binary classii¬?cation job in which the category is represented as a information point with co-ordinates described by object-oriented prosodies and other parametric quantities. The anticipation of mistake type in a faulty package category is so considered as a bunch job in which each mistake type is represented by a bunch paradigm. To work out the two jobs, usage of nervous web techniques is proposed. In peculiar, the classii¬?cation job is addressed utilizing a Multilayer Perceptron ( MLP ) while the solution to constellating job is based on Radial-Basis Function Network ( RBFN ) .A set of beginning codification is examined to analyse mistakes that exist in package systems. Fault analysis consists of two parts ; defectiveness anticipation and mistake type designation

Table 1: Mistake and anomalousnesss due to inheritance and polymorphism




State Definition Anomaly


State Definition Inconsistency


State Definition Incorrectly


Indirect Inconsistent State Definition


State Visibility Anomaly

Table 2: Syntactic Inheritance Patterns


Syntactic Pattern


Extension method Calls another Extension method


Extension method Calls Inherited methods


Extension method Calls Refining method


Extension method Defines Inherited province Variable


Polishing method Calls Extension method


Polishing method Calls other Inherited method


Polishing method Calls another Refining method


Polishing method Calls Overridden Method


Polishing method Defines Inherited province Variable


Polishing method Uses Inherited province Variable

2. Background

2.1. Nervous Networks

This survey employs two nervous web techniques as the implicit in mechanisms for mistake anticipation, viz. , Multilayer Perceptron ( MLP ) and Radial-Basis Function Networks ( RBFN ) . The former helps bunch input informations into appropriate mistake classs.

2.2. Mistake Categories and Software Metrics

Inheritance and polymorphism provide many benei¬?ts in creativeness, efi¬?ciency, and reuse of object-oriented package development. However, they can do a figure of anomalousnesss and mistakes [ 20 ] . This survey focuses on i¬?ve mistake types incurred by the usage of polymorphism shown in Table 1.

A figure of parametric measurings are introduced defective causes, i.e. , figure of visual aspects of syntactic mistake form [ 3 ] , and syntactic and structural steps. The prosodies are summarized in Tables1, 2. The parametric measurings are categorized harmonizing

2.2.1 Inconsistent type usage ( ITU )

For this mistake type, a descendent category does non overrule any familial method. Therefore, there can be no polymorphous behaviour. Every case of a descendent category C that is used where an case of T is expected can merely act precisely like an case of T. That is, merely methods of T can be used. Any extra methods specii¬?ed in C are hidden since the case of C is being used as if it is an case of T. However, anomalous behaviour is still a possibility. If an case of C is used in multiple contexts anomalous behaviour can happen if C has extension methods. In this instance, one or more of the extension methods can name a method of T or straight dei¬?ne a province variable inherited from T. Anomalous behaviour will happen if either of these actions consequences in an inconsistent inherited province.

2.2.2. State Dei¬?nition Anomaly ( SDA )

In general, for a descendent category to be behaviorally compatible with its ascendant, the province interactions of the descendent must be consistent with those of its ascendant. That is, the refinement methods implemented in the descendent must go forth the ascendant in a province that is tantamount to the province that the ascendant ‘s overridden methods would hold left the ascendant in. For this to be true, the refinement methods provided by the descendent must give the same net province interactions as each populace method that is overridden. From a information flow position, this means that the refinement methods must supply definitions for the familial province variables that are consistent with the definitions in the overridden method. If non, so a possible information flow anomalousness exists. Whether or non an anomalousness really occurs depends upon the sequences of methods that are valid with regard to the ascendant. Any extension method that is called by a refinement method must besides interact with the familial variables of the ascendant in a mode that is consistent with the ascendant ‘s current province. Since the extension method provides a part of the refinement method ‘s net effects, to avoid a information flow anomaly the extension must non specify familial province variables in away that would be inconsistent with the method being refined. Therefore, the net consequence of the extension method can non be to go forth the ascendant in a province that is logically different from when it was invoked. For illustration, if the logical province of an case of a stack is presently not-empty/not full, so executing of an extension method can non ensue in the logical province spontaneously being changed to either empty or full. Making so would prevent the executing of dad or push as the following methods in sequence.

2.2.3. State Dei¬?nition Inconsistency due to province variable Hiding ( SDIH )

The debut of an randomly named local province variable can easy ensue in a information i¬‚ow anomalousness where none would otherwise exist. If a local variable is introduced to a category dei¬?nition where the name of the variable is the same as an familial variable V, the consequence is the familial variable is hidden from the range of the descendent ( unless explicitly qualii¬?ed, as in super.v ) . A mention to v by an extension or overruling method will mention to the descendent ‘s v. This is non a job if all inherited methods are overridden since no other method would be able to implicitly cite the familial v. However, this form of heritage is the exclusion instead than the regulation. There will typically be one or more familial methods that are non overridden. There is a possibility for a information i¬‚ow anomalousness to be if a method that usually dei¬?nes the familial V is overridden in a descendent when an familial province variable is hidden by a local dei¬?nition.

2.2.4. State Dei¬?ned Incorrectly ( SDI )

Suppose an overruling method dei¬?nes the same province variable V that the overridden method dei¬?nes. If the calculation performed by the overruling method is non semantically tantamount to the calculation of the overridden method with regard to v, so subsequent province dependent behaviour in the ascendant will probably be affected, and the externally ascertained behaviour of the descendent will be different.

2.2.5 Indirect Inconsistent State Dei¬?nition ( IISD )

An inconsistent province dei¬?nition can happen when a descendent adds an extension method that dei¬?nes an familial province variable. The method is an extension method, non a rei¬?ning method. For illustration, see the category hierarchy shown in Figure 1A where T specii¬?es a province variable ten and method m ( ) , and the descendent D specii¬?es method vitamin E ( ) . Since vitamin E ( ) is an extension method, it can non be straight called from an familial method, in this instance T: :m ( ) , because e ( ) is non seeable to the inherited method. However, if an familial method is overridden, the overruling method ( such as D: :m ( ) as depicted in Figure 1B ) can name vitamin E ( ) and present a information i¬‚ow anomalousness by holding an consequence on the province of the ascendant that is non semantically tantamount to the overridden method ( e.g. with regard to the variable Thymine: : in the illustration ) . Whether an mistake occurs depends on which province variable is dei¬?ned by vitamin E ( ) , where vitamin E ( ) executes in the sequence of calls made by a client, and what province dependent behaviour the ascendant has on the variable dei¬?ned by vitamin E ( ) .

Figure 1. IISD: Example of indirect inconsistent province dei¬?nition

3. Mistake Analysis

In this survey, a set of beginning codification is examined to analyse mistakes that exist in package systems. Fault analysis consists of two parts ; defectiveness anticipation and mistake type identii¬?cation. A faultiness prognostic theoretical account has been constructed based on package features to foretell whether the considered package is defective or fault-free. A set of preset package prosodies are used as the chief word picture properties of package, while nervous web techniques are applied to construct the prognostic theoretical account. In the old work [ 16 ] , two defectiveness prognostic theoretical accounts were built based on the package prosodies with the aid of multilayer perceptron ( MLP ) for the i¬?rst theoretical account and Radial-basis map web ( RBFN ) for the 2nd theoretical account. The consequences yielded anticipation truth of 60 % and 83 % , severally. Since some package prosodies used in anterior work are suited merely for structured package, extra object-oriented package prosodies have been employed. A mistake identii¬?cation theoretical account named MASP is introduced. The MASP theoretical account consists of two phases, viz. , faultiness anticipation ( or coarse-grained ) phase and mistake type identii¬?cation ( or i¬?ne-grained ) phase. This is depicted in Figure2.

In the defectiveness anticipation phase, a farinaceous metric choice algorithm is proposed to pull out the critical mistake prosodies that affect mistake proneness. A faultiness prognostic theoretical account is applied to pull out faulty categories utilizing multilayer perceptron with back-propagation acquisition algorithm. Since the prosodies selected by farinaceous method do non incorporate equal hint commissariats for placing mistake type from the faulty classes so obtained, a i¬?ne-grained metric choice algorithm is presented to heighten hint identii¬?cation capableness with the aid of other relevant prosodies. A mistake type identii¬?cation theoretical account is constructed utilizing radial-basis map web ( RBFN ) .

Figure2.Fault Identification theoretical account building

4. Datas Preprocessing

All 60 package prosodies and mistake parametric quantities were applied to the experimental information. However, non all package prosodies and mistake parametric quantities contributed to faultiness of package categories. Therefore, it was necessary to choose merely the relevant prosodies and mistake parametric quantities are merely referred to as prosodies.

1 ) Set initial weight of each metric to stress its importance

Wi ( T ) = 0


Wi ( T ) is the weight value of metric I

I = { 1, 2, . . . , m }

m is the figure of prosodies

T is the loop figure

2 ) Establish a brace of fault-free and defective categories from the preparation set.

X = { x1, x2, . . . , xm } , Y = { y1, y2, . . . , ym }


Ten is a defective category consists of m prosodies

Yttrium is a fault-free category consists of m prosodies

3 ) Calculate the comparative difference of values of each metric brace from measure 2.

|xi – yi|

Di = ______ ? 100

( eleven + Lolo )

Di is the comparative difference of values of metric I of their several categories

Eleven is the value of metric I of the faulty category

Lolo is the value of metric I of the fault-free category This will forestall prosodies intermix among their corresponding applicable sphere.

4 ) Adjust the weight value of each metric

IF Di ? ?

THEN Wi ( T ) =Wi ( t?1 ) + 1

ELSE Wi ( T ) =Wi ( t?1 ) ? 1

where ? = 50 is a threshold value

5 ) Repeat step2 through measure 4 until all fault-free categories lucifer with all faulty categories of the preparation set.

6 ) See the weight value of each metric, replacing negative values with nothing and normalise all weight values.

7 ) Select the prosodies with weight values above the selected threshold.

5. Mistake Prediction theoretical accounts

A. Faultiness anticipation

To foretell the faulty category, a prognostic theoretical account has been constructed utilizing MLP with back-propagation larning algorithm.The aim of the theoretical accounts is to right sort the information points into fault-free and defective groups shown in Figure 3.

Fault free category Faulty category

Figure3. Faultiness Categorization

The end product value expected from the end product node of each theoretical account is zero for the fault-free category and one for the faulty category. The larning rate of 0.35 with the aid of the sigmoid map in weight accommodation to give the correct end product value. After the preparation procedure is completed, the theoretical account is reapplied to sort the trial information. The end product values so obtained runing between 0 and 1 which are indecisive for informations classii¬?cation. Puting an credence ratio at 0.55, a information point is classii¬?ed as a faulty category if the end product of MLP is greater than this value. Otherwise, it is a fault-free category.

B. Fault Type Identification

Fault type designation theoretical account is based on RBFN technique. The aim of the theoretical account is to constellate faulty categories into groups based on mistake type as shown in the illustration of three mistake types in Figure 5. The theoretical account consists of 35 input nodes in the input bed, a figure of concealed nodes in the concealed bed ( this figure is determined during the preparation procedure ) , and 5 end product nodes in the end product bed that form an end product vector. The end product vector denotes the type of mistake in binary format as ‘10000 ‘ , ‘01000 ‘ , ‘00100 ‘ , ‘00010 ‘ , and ‘00001 ‘ , stand foring SDIH, IISD, SVA, SDA, and SDI mistakes, severally.

During the experiment, developing informations were used to bring forth the weights between the concealed bed and the end product bed. If the web outputs low truth, the figure of concealed node will be incremented by one. This restructuring by node plus- one patterned advance continues until the coveted truth is acquired or the figure of concealed nodes reaches the figure of developing informations points. At which point, reorganisation must be done by reiterating the property choice algorithm and continue along the same stairss described. The deduction of this reorganisation is that some, or all, selected prosodies do non lend to the faulty behaviour of package constituents, whereby anticipation truth will fall short of the acceptable scope.

To research which prosodies dominate the mistake type of a given concealed node that represents all 35 prosodies, an algorithm is proposed as follows:

1 ) Choose a mistake type to happen a set of representative prosodies, for illustration, SDIH mistake.

2 ) Find the concealed nodes that consequence the mistake type from the consequences. There are 2 concealed nodes in this instance.

3 ) Identify the set of categories from the preparation informations where the selected mistake is originated. There are 80 categories from the preparation informations that contain SDIH mistake.

4 ) Calculate the difference between each metric of a preparation category and the same metric of a concealed node

Vi = |ci – hi|


Vi is the difference of values of metric I

of the category and the concealed node

curie is the value of metric I of the category

hello is the value of metric I of the concealed node

5 ) For each mistake type, caculate the entire difference of each metric value.

m N

Tot Vi = ? ? Vi ( J, K )

j=1 k=1


TotVi is the entire difference of value of metric I

of all categories and concealed nodes

Vi ( J, K ) is the difference of value of metric I

of developing category K and concealed node J

m is the figure of concealed nodes for the

selected mistake type

N is the figure of preparation categories for the

selected mistake type

6 ) Nomalize all entire difference values

Tot Vi -min

Tot Vi = ___________

max – min


soap and min are the maximal and minimal

entire difference values and repetition stairss above until all mistake types are considered.

Figure.4 The entire difference of each metric holding IISD mistake

Figure 5.The entire difference of each metric holding SDA mistake

Figure 4 and Figure 5 show the effects of IISD and SDA

prosodies have on peculiar mistake types. The zero sum difference value means that the corresponding prosodies of that preparation category and concealed node are the same and therefore has no consequence on the mistake type. On the other manus, if the entire difference metric between the preparation categories and the concealed nodes is high, the metric will probably lend to the mistake anticipation of the package.


The proposed package metric property choice algorithm proved to be effectual in finding the significance of each metric and word picture of package defectiveness. Based on the two prognostic theoretical accounts, the proposed attack is able to foretell defectiveness of a category with more than 90 % truth. Accurate anticipations obtained from such a good dependability theoretical account finally lead to higher efficiency of package procedure and quality of ensuing package merchandises.

Leave a Reply

Your email address will not be published. Required fields are marked *