FORM 2
THE PATENT ACT, 1970
(39 of 1970)
&
The Patent Rules, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION:
Fault Reduction System for Software Applications
2. APPLICANT:
Name : [Link] Rao
Nationality : India
3. Address : # 4-159, Siripuram PO, Medikondur Mandal, Guntur District,
Andhra Pradesh-522401, India.
The following specification particularly describes the invention and the manner in which it is
to be performed:
1
4. DESCRIPTION:
Field of Invention:
[0001] The present invention belongs to the field of software engineering, and more
particularly relates to the system and method to reduce faults in directed random testing of
software applications.
Background of the invention:
[0002] In recent years, continuous development of modern software resulted in increased
need of software for businesses and individuals. The software coding involves faults which
require software developers to fix the problems. Several testing techniques have evolved to
repair the software faults. The black-box testing is an unsystematic testing procedure where
programs are investigated by producing unsystematic and autonomous inputs. Random
Testing is the essential approach in the midst of different software testing procedure and
frequently uncomplicated to implement. The Random Testing can frequently work out the
software beneath experiment in unpredicted manner, and has established efficiency in
identifying malfunction. Existing random testing is not much productive in terms of time
consuming and cost. Test cases trigger failures and do not directly uncover faults. The main
disadvantage of random testing is lengthy test case generation, gives equivalent inputs for
test cases and creates many illegal inputs.
[0003] In software growth, debugging is a prolonged mission. Even though a variety of
mechanical methods have been projected, they are not effectual adequate. As well, in
physical debugging, developers have obscurity in deciding breakpoints. To tackle these
troubles and assist developers establish fault efficiently, interactive fault localization
structure is employed which merge the remuneration of mechanical methods and physical
debugging. Ahead of the fault is establish, the structure constantly suggest inspection points
derived from statements' uncertainties, which are premeditated consistent with the
implementation information of experiment conditions and the response information from
the developer at previous checking point.
2
[0004] Generally, the Genetic Algorithm symbolizes a universal search method that
enhances signal from the evolutionary data of the inheritance. In this process, the iterations
and the populace are symbolized as the production and the chromosomes correspondingly.
In observation of the reality, the meeting charge of the conventional GA is lesser.
[0005] Hence, there is a need to generate as many test cases as possible in such a way that
they help to uncover as many faults as many coverage targets as possible. There is a need
for an efficient random testing test case. There is a need to reduce interactive faults through
the finest experiment condition in the directed random testing. An efficient procedural
model is needed to carry out the generation of test cases. An Adaptive Genetic Algorithm is
needed to construct the finest system which significantly diminishes the prohibited inputs.
Objectives of the invention:
[0006] The primary objective of the invention is to provide an efficient fault reduction
system for software applications in directed random testing.
[0007] The other objective is to reduce interactive faults through the finest experiment
condition in the directed random testing.
[0008] The other objective is to generate as many test cases as possible in such a way that
they help to uncover as many faults as many coverage targets as possible.
[0009] Another objective is to carry out the generation of test cases using an efficient
procedural model.
[0010] Further objective is to construct the finest system to significantly diminish the
prohibited inputs using an Adaptive Genetic Algorithm.
Summary of the Invention:
[0011] The invention proposes a fault reduction system for software applications. The
3
following presents a simplified summary in order to provide a basic understanding of some
aspects of the claimed subject matter. This summary is not an extensive overview. It is not
intended to identify key/critical elements or to delineate the scope of the claimed subject
matter. Its sole purpose is to present some concepts in a simplified form as a prelude to the
more detailed description that is presented later.
[0012] According an aspect, the invention proposes a fault reduction system for software
applications which comprises an application selection means, a test case generation means
and a false reduction means. The application selection means is configured to select an
input application from the database for software testing. The test case generation means is
configured to generate test cases by means of feature value from the input application. The
test case generation means utilizes Object Behavior Dependence Model (OBDM) to
generate test cases.
[0013] The false reduction means is configured to reduce illegal inputs and equivalent
inputs. The fault reduction system provides efficient software testing in directed random
testing. The false reduction means utilizes Adaptive Genetic Algorithm (AGA) to reduce
interactive faults. The Adaptive Genetic Algorithm utilizes Cauchy’s mutation for adaptive
behavior.
[0014] According to other aspect of the invention, test case generation phase using Object
Behavior Dependence Model comprises assigning a function with a variable name,
determining whether the function is previously called anywhere and storing the variable if
called, checking for any if condition occurrence and assigning a value if occurred, assessing
ratio for individual task and storing the destination variable, adding line coverage and loop
coverage and finally terminating the test case generation if number of functions is less than
maximum value otherwise repeating the procedure.
[0015] The ratio for individual task is defined by the ratio of how much time one particular
function call the other function to the total function. The line coverage is the ratio of
number of lines exercised to the total number of lines. The loop coverage is delegated by
the mission of establishing and enlightening whether each one loop body is carried out
4
either zero times, accurately on one occasion or numerous times.
[0016] According to another aspect of the invention, the false reduction phase using
Adaptive Genetic Algorithm comprises creating populations of chromosomes, evaluating
fitness value for each one limitation, selecting finest chromosome that contains utmost
fitness value, implementing mutation and crossover operators, updating initial solution
where innovative chromosome is generated and estimating the fitness value once again and
finally electing the innovative chromosome as the finest chromosome if the fitness value of
the innovative chromosome surpasses that of existing chromosome otherwise repeating the
procedure. The chromosomes are the set of test cases generated.
Description of Drawings:
[0017] The accompanying drawings, which are incorporated in and constitute a part of the
specification, illustrate an embodiment of the invention, and, together with the description,
serve to explain the principles of the invention.
[0018] Fig. 1 illustrates a block diagram of the proposed fault reduction system for software
applications, according to an exemplary embodiment of the invention.
[0019] Fig. 2 illustrates a method of modus operandi of the proposed fault reduction
system.
[0020] Fig. 3 illustrates a flowchart for test case generation using Object Behavior
Dependence Model, according to an exemplary embodiment of the invention.
[0021] Fig. 4 illustrates a flowchart for false reduction using Adaptive Genetic Algorithm
according, to an exemplary embodiment of the invention.
[0022] Fig. 5 illustrates a graphical representation of fitness value using the Adaptive and
normal Genetic Algorithm.
5
[0023] Fig. 6 illustrates a graphical representation for test count value before and after
optimization.
[0024] Fig. 7 illustrates a graphical representation of test case count for proposed and
existing methods.
[0025] Fig. 8 illustrates a graphical representation of time usage for proposed and existing
methods for different iterations.
Detailed description of Drawings:
[0026] An exemplary embodiment of the present invention will be described in reference to
the accompanying drawings. Wherever possible, same or similar reference numerals are
used in the drawings and the description to refer to the same or like parts or steps.
[0027] According to an exemplary embodiment, Fig. 1 represents the block diagram of the
fault reduction system 100 for software applications. The system 100 comprises a database
101, an application selection means 102, a test case generation means 103 and a false
reduction means 104. As depicted in the figure the fault reduction system is carried out in
two phases i.e., through test case generation and false reduction. The phase 1 i.e., test case
generation is carried out through test case generation means 103 which utilizes Object
Behavior Dependence Model (OBDM) 103a. The phase 2 i.e., false reduction is carried out
through false reduction means 104 which utilizes Adaptive Genetic Algorithm (AGA) 104a.
[0028] The application selection means 102 is configured to select an input application from
the database 101 for software testing. The test case generation means 103 is configured to
generate test cases by means of feature value from the input application. The false
reduction means 104 is configured to reduce illegal inputs and equivalent inputs.
[0029] Here, each input application has the number of function that is used for the
generation of test case. Based on the function value, the suggested technique calculates the
feature value. This value is represented as the OBDM value. The OBDM procedure
6
essentially endow its consideration on the task and reporting metrics of the function which
have been useful for the experiment condition formation, which in turn departs an
extensive manner in fascinating the formation of the reproduction and inappropriate test
conditions.
[0030] Fig. 2 represents a method of modus operandi of the fault reduction system 200.
Initially at step 201, the input application is selected from the database for software testing.
After selecting the input application, the test cases are generated with the help of Object
Behavior Dependence Model (OBDM) at step 202. Here the test cases are generated by
means of feature value from the input application. After selecting the test cases, false
reduction is done by Adaptive Genetic Algorithm (AGA) at step 203. Thus, the optimal inputs
are generated which will reduce the illegal inputs and equivalent inputs at step 204.
[0031] Fig. 3 represents a flowchart 300 for phase-1 i.e., test case generation using Object
Behavior Dependence Model (OBDM). Fig. 3 delightfully portrait the creation system of the
experiment condition and each one task is symbolized as the basis task. At step 301, the
basis task of the test case generation starts. At step 302, the function (f) is set as value 1.
The function is then assigned with a variable name at step 303. Now, each function is
observed to determine whether it is previously fixed to definite supplementary mission i.e.,
whether the function called anywhere, at step 304. If the function is called, the variable of
the called function is stored at step 305 otherwise a null value is stored at step 306
depicting it as illogical. Further, a check is executed to determine whether any “if” condition
is occurred at step 307. If yes, a value of 0.5 is assigned at step 308 or else a value of one is
distributed at step 309. At step 310, the ratio for the individual task is assessed as per
Equation 1 specified beneath and subsequently the target task is distinguished, trailed by
the calculation of the whole experiment conditions to the coverage matrix.
how much timecall theother function (1)
Ratio =
Total function
[0032] The ratio value is defined by the ratio of how much time one particular function call
the other function to total function. It is specified in Equation 1. At step 311, the destination
variable is stored. Then, line coverage and loop coverage are added at step 312. The epoch-
7
making technique makes use of the line coverage and loop coverage from the coverage
metrics.
[0033] The line coverage is marked as statement, which embrace only the exact conditions.
As well, it guesstimates the eminence of the code and makes sure the flow of a various trail
in the code in query. It is assessed by the subsequent Equation 2.
number of lines exercised
line coverage = (2)
total number of lines
[0034] The loop coverage is delegated by the mission of establishing and enlightening
whether each one loop body is carried out either zero times, accurately on one occasion or
numerous times. It also points out whether loop body is implemented accurately once or
numerous times in the condition of ‘do-while’ loops. Supplementary, the while-loops and
for-loops produce numerous presentations. Finally, a check is done whether number of
functions is less than the maximum value present at step 313. If the condition is yes, the
procedure repeats from step 303 where the function is assigned with a variable name,
otherwise the task of the test generation stops at step 314.
[0035] For example, variable names for the tasks A1, A2, B1, B2 and C1 are delivered as F1,
F2, F3, F4 and F5. . In the proposed method, the test case contains source function name,
probability value, ratio value, destination function name, line coverage and loop coverage.
Test case generation process with the corresponding example is given below,
[0036] Test case 1: [F1, -, 0.5, 2/5=0.4, F2] + line coverage + loop coverage
[0037] Test case 2: [F1, -, 0.5, 2/5=0.4, F1] + line coverage + loop coverage
[0038] Test case 3: [F2, -, 1, 1/5=0.2, F5] + line coverage + loop coverage
[0039] Here, F1 represents the initial function name, 0.5 indicates that if a test case
contains any if condition or not. If contains then 0.5 will be assigned. If not, then the value
will be 1. Then the next value 2/5 indicates the ratio value of the test case mentioned in
8
Equation 1 and F2 represents the destination function name. Along with these values, line
coverage and loop coverage values are used for test case generation. Likewise, all the test
cases are generated.
[0040] Next at phase 2, the false reduction is fundamentally depicted as the restrain of
additional features which are not fundamental for the principle of dispensation. In the
epoch-making procedure, the Adaptive Genetic method is gracefully engaged for the
principle of false reduction which is accomplished in keeping by the optimization. The
Adaptive Genetic Algorithm (AGA) precisely releases its responsibility of lessening the
illegitimate inputs and indistinguishable inputs.
[0041] Adaptive Genetic Algorithm distinguishes a meta-heuristic procedure devoted to the
reduction of the ordinary development system. Fig. 4 represents a flowchart 400 for false
reduction using the proposed Adaptive Genetic Algorithm. At initial stage 401, the
populations of the chromosomes xi , ( i = 1,2,...N ) are created arbitrarily. ‘N’ represents the
dimension of the population. The chromosome xi encompasses the test cases produced in
an arbitrary manner. Here the chromosome xi is the set of test cases. Then, the fitness
value of each one limitation is assessed as demonstrated in the subsequent Equation 3 at
step 402.
N
fitnessi = xi if value + xi ratiovalue + xi linecoverage + xi loopcoverage (3)
i=1
[0042] The metrics which are used to estimate fitness such as OBDM value, fault proneness
ratio, line coverage, loop coverage etc. have already calculated for each test case. Next, the
chromosome containing the utmost fitness value is selected as the finest chromosome at
step 403. Here, maximization of fitness is to reduce the interactive faults. At step 404,
mutation and crossover are the two important genetic operators implemented which helps
for solution convergence. Here, Cauchy’s mutation is used for adaptiveness in Genetic
Algorithm. The Cauchy transformation is successfully exploited to alter the entities as per
Equation 4 exposed.
F (x) = + arctan(x)
1 1
(4)
2
9
[0043] The alteration is executed by the fixed transforming possibility. Where the Cauchy
alteration is achieved, illogical variable ‘x’ symbolize a Cauchy allocation. At step 405, the
initial solution is updated i.e., when the transformation task is ended, innovative
chromosome is engendered and subsequently the current chromosome is surrogated by
innovative chromosome. At step 406, the fitness value is again estimated. At step 407, a
check is done whether the maximum generation is reached i.e., if the fitness value of
innovative chromosome surpasses that of the existing chromosome, the innovative
chromosome is elected as the finest chromosome at step 408. Otherwise, the procedure
repeats from step 403 where the best chromosomes are selected.
[0044] Hence, the Adaptive Genetic Algorithm is capable to accomplish substantial
lessening in the interactive faults based on optimal test cases in directed random testing.
[0045] For the Adaptive Genetic Algorithm, the fitness values of the chromosomes are
computed for dissimilar iteration and the results are charted. Table 1 below represents the
fitness value for the suggested technique verified to be superior to the technique where
Genetic Algorithm is applied.
[0046] Table 1:
Fitness values
Adaptive Particle
Genetic
Iterations Genetic Swarm
Algorithm
Algorithm Optimization
25 650 547 621
50 630 520 610
75 573 495 558
100 567 475 496
10
[0047] Fig. 5 shows the graphical representation of fitness value for different iterations 500
using the Adaptive and normal Genetic Algorithm. In this, the fitness value that are obtained
from Adaptive Genetic Algorithm as well as that we obtain from Genetic Algorithm are being
plotted. From the graph, it is evident that our proposed method using Adaptive Genetic
Algorithm delivers better fitness value when compared to that of the Genetic Algorithm.
[0048] Table 2 given below shows the test count value obtained before and after
optimization. The test case counts are to be reduced in order to select optimal test cases.
The optimized result shows that test cases that are not relevant to the required process are
being ignored which is evident from the Test case count obtained after optimization.
[0049] Table 2:
Test case count
Iterations Without AGA With AGA
25 661 434
50 661 463
75 661 437
100 661 414
[0050] Fig. 6 shows the graphical representation 600 for test count value which is obtained
before and after optimization. Here the test cases that are generated before and after
optimization are plotted. From the graph it is evident that the Test case count has been
reduced to a greater extend when compared to those obtained before optimization.
[0051] Table 3 given below shows the test case count obtained from different existing
techniques and our proposed Adaptive Genetic Algorithm method. The better test case
count has obtained when compared with other methods.
[0052] Table 3:
11
Test case count
Iterations AGA GA PSO
25 434 475 497
50 463 470 491
75 437 461 462
100 414 452 449
[0053] Fig. 7 shows the graphical representation 700 of test case count for different
iterations for proposed and existing methods.
[0054] Table 4 given below shows time and memory usage of the proposed methodology
Adaptive Genetic Algorithm for different iterations. For each iteration, the corresponding
time and memory usage are calculated and the results are tabulated. By reducing the
interactive faults, the execution time and memory usage can be reduced. When the
iteration increases, the time usage and memory usage are reduced automatically.
[0055] Table 4:
Iteration Time usage Memory
(sec) usage (Bytes)
25 4256 4586136
50 4399 3001288
75 4525 2973680
100 4502 2188312
[0056] Table 5 given below shows the time usage obtained from different existing
techniques and our proposed Adaptive Genetic Algorithm method. The better time usage
has obtained when compared with other methods. The time usage calculated is the
difference between the process start system time and the process end system time.
12
[0057] Table 5:
Time usage (sec)
Iteration AGA GA PSO
25 4256 4521 5214
50 4399 4698 5365
75 4525 4724 5368
100 4502 4792 5741
[0058] Fig. 8 shows the graphical representation 800 of time usage for proposed and
existing methods for different iterations.
[0059] The faults detected from the proposed method of random testing can be compared
with other existing testing techniques which are presented in Table 6 given below.
[0060] Table 6:
Testing Methods Faults Detected (in %)
Random Testing 95%
Regression Testing 92%
[0061] From the table 6, one can be observed that the interactive faults can be highly
detected from the random testing than other testing like regression testing. If the test suite
is large, then RT will give better results. The real time application of the proposed technique
is used to analyze in a new light the applicability of Combinatorial Interaction Testing (CIT).
[0062] Thus, the invention proposes an efficient fault reduction system for software
applications in directed random testing. This system reduces the interactive faults in
software coding through the finest experiment condition in the directed random testing.
This system allows generating as many test cases as possible in such a way that they help to
13
uncover as many faults as many coverage targets as possible. The system carries out the
generation of test cases using an efficient Object Behavior Dependence model. A finest
system is obtained to significantly diminish the prohibited inputs using the proposed
Adaptive Genetic Algorithm.
[0063] It will readily be apparent that numerous modifications and alterations can be made
to the processes described in the foregoing examples without departing from the principles
underlying the invention, and all such modifications and alterations are intended to be
embraced by this application.
14
5. CLAIMS
I/ We Claim:
1. A fault reduction system for software applications comprising:
an application selection module (102) configured to select an input application from
database (101) for software testing;
a test case generation module (103) configured to generate test cases by means of
feature value from the input application; and
a false reduction module (104) configured to reduce illegal inputs and equivalent inputs
whereby said system (100) is an efficient fault reduction system that reduces faults and
significantly diminish the prohibited inputs in the directed random testing of software
applications.
2. The fault reduction system for software applications as claimed in claim 1, wherein said
test case generation module (103) utilizes Object Behavior Dependence Model (OBDM)
(103a) to generate test cases.
3. The fault reduction system for software applications as claimed in claim 1, wherein said
false reduction module (104) utilizes Adaptive Genetic Algorithm (AGA) (104a) to reduce
interactive faults.
4. The fault reduction system for software applications as claimed in claim 1, wherein said
Adaptive Genetic Algorithm (AGA) (104a) utilizes Cauchy’s mutation for adaptive
behavior.
5. A test case generation phase using Object Behavior Dependence Model in a fault
reduction system, comprising thesteps of:
assigning a function with a variable name (303);
determining whether the function is previously called anywhere and storing said
variable if called (305);
checking for any if condition occurrence and assigning a value if occurred
(307);
15
assessing ratio for individual task and storing the destination variable
(311);
adding line coverage and loop coverage (312); and
terminating the test case generation if number of functions is less than maximum value
otherwise repeating the procedure (313),
Whereby said test case generation phase in said fault reduction system generates as
many test cases as possible using test case generation module to uncover as many faults
and as many coverage targets as possible.
6. The test case generation phase using Object Behavior Dependence Model in a fault
reduction system as claimed in claim 5, wherein said ratio for individual task is defined
by the ratio of how much time one particular function call the other function to the total
function.
7. The test case generation phase using Object Behavior Dependence Model in a fault
reduction system as claimed in claim 5, wherein said line coverage is the ratio of number
of lines exercised to the total number of lines.
8. The test case generation phase using Object Behavior Dependence Model in a fault
reduction system as claimed in claim 5, wherein said loop coverage is delegated by the
mission of establishing and enlightening whether each one loop body is carried out
either zero times, accurately on one occasion or numerous times.
9. A false reduction phase using Adaptive Genetic Algorithm in a fault reduction
system, comprising the steps of:
Obtaining populations of chromosomes from plurality of test cases generated by a
test case generation module (401);
evaluating fitness value for each one limitation (402);
selecting finest chromosome that contains utmost fitness value
(403);
implementing mutation and crossover operators (404);
16
updating initial solution where innovative chromosome is generated and estimating said
fitness value once again (405); and
electing said innovative chromosome as the finest chromosome if the fitness value of
said innovative chromosome surpasses that of existing chromosome otherwise
repeating the procedure (406),
Whereby said false reduction phase significantly diminishes the prohibited inputs using
Adaptive Genetic Algorithm (AGA) (104a).
6. DATE AND SIGNATURE:
Dated this 04th day of February, 2022
17
7. ABSTRACT:
Title: Fault Reduction System for Software Applications
The present disclosure proposes a fault reduction system for software applications in
directed random testing which includes two phases i.e., test case generation and false
reduction. The system (100) comprises an application selection module (102), a test case
generation module (103), a false reduction module (104) and a database (101). The test case
generation module (103) configures an Object Behavior Dependence Model (OBDM) (103a)
to generate test cases by means of feature value from the input application. The false
reduction module (104) configures an Adaptive Genetic Algorithm (AGA) (104a) to reduce
the prohibited inputs in addition to the indistinguishable inputs. For the principle of
significantly lessening the fault prone inclination, the AGA gracefully take up the exposure
metrics of the experiment conditions.
18