Poster Template

advertisement
Fitness Guided Fault Localization with Coevolutionary
Automated Software Correction Case Study
ISC Graduate Student: Josh Wilkerson, Computer Science
Missouri S&T Natural Computation Laboratory
Technical Background:
The FGFL System
• Fault localization: the most time consuming
step in software debugging
• Would greatly benefit from automation
• FGFL: automated fault localization system
exploiting a fitness function for the program
• Fitness function: type of objective function
used to rate the performance of a solution
• Ensemble of techniques used in FGFL,
currently consisting of:
• Trace Comparison
• Trend Based Line Suspicion
• Fitness monitor
• Results of (active) techniques combined
using confidence based voting system
Example Fault Localization Result:
Warmer Color Indicates Higher Suspicion
Proposed FGFL Enhancement:
Objective Sensitivity Testing
• Through testing, objectives effected by a
bug could be identified
• Identifying objectives sensitive to the bug
will allow for more targeted testing
 Ideally resulting in more accurate
results
• Removing objectives from consideration
would result in a significant search space
reduction
ISC PI: Dr. Daniel Tauritz, Computer Science
Co-PIs: Dr. Bruce McMillin, Computer Science &
Dr. Thomas Weigert, Computer Science
Objective
Add support for multi-objective optimization
style fitness calculation to the Fitness Guided
Fault Localization (FGFL) System
Benefits and Motivation
• Most real world problems consist of multiple objectives
 Multi-objective fitness calculation allows problems to
remain closer to their natural state in the FGFL system
• Combining objectives together into a single aggregate
fitness function is difficult, as there infinite possibilities
 Multi-objective fitness functions avoid having to make
tradeoff decisions a priori
• The dominance relationship between solutions is stronger
than comparison employing an aggregate fitness
function
 Multi-objective comparison is expected to lead to an
improved FGFL test case set
• Separate objective scores provide more insight into a
solution’s performance
 FGFL enhancements and techniques that specifically
exploit multiple objective functions
Current and Future Work
• Continue development and testing of FGFL
enhancements and new techniques exploiting
multiple objective functions
• Investigate enhancements to existing FGFL
techniques to exploit multiple objective
functions
• Conduct case study using the Coevolutionary
Automated Software Correction (CASC) system
 Use FGFL to indicate section of buggy code
to be corrected
• Use both aggregate and multi-objective
function
 Testing using the Siemens test suite of
programs with injected faults
Technical Background:
Multi-Objective Optimization
• Simultaneously optimize problem objectives
• Candidate solutions are given scores for
each objective
• Non-Dominated Sorting Genetic Algorithm
(NSGA): algorithm that FGFL multi-objective
approach is based on
• NSGA Details:
• Solution fitness is proportional to the
number of other solutions dominated
• Solution S1 dominates S2 if S1 performs at
least as good as S2 on all objectives and
better on at least one objective
• Non-Dominated Front: set of solutions
that are not dominated by any other
known solutions
Example Front Organization
Proposed FGFL Technique:
Cross Objective Testing
• Examine execution characteristics of test
cases on the non-dominated front with
sufficiently unique performance
The closer to the pareto-optimal front,
the better
• Differences in these characteristics can
be employed to provide information on
the nature and location of the bug
• Can also be used to enhance existing
FGFL techniques
Download