SlideShare a Scribd company logo
Conclusions
Introduction      Background   Algorithms   Experiments
                                                          & Future Work




      Comparing Metaheuristic Algorithms for
        Error Detection in Java Programs




               Francisco Chicano, Marco Ferreira and Enrique Alba

 SSBSE 2011, Szeged, Hungary, September 10-12                             1 / 25
Conclusions
 Introduction    Background       Algorithms     Experiments
                                                               & Future Work


Motivation

Motivation
  •  Concurrent software is difficult to test ...
  •  ... and it is in the heart of a lot of critical systems




  •  Techniques for proving the correctness of concurrent software are required
  •  Model checking → fully automatic
  •  Traditional techniques for this purpose have problems with large models
  •  We compare several metaheuristics and classical algorithms for model checking

  SSBSE 2011, Szeged, Hungary, September 10-12                                 2 / 25
Conclusions
 Introduction             Background       Algorithms           Experiments
                                                                                    & Future Work


Explicit State MC Properties State Explosion Heuristic MC

Explicit State Model Checking
  •  Objective: Prove that model M satisfies the property                       :
  •  In the general case, f is a temporal logic formula (LTL, CTL, etc.)


         Model M                             LTL formula ¬ f                    Intersection Büchi automaton
                                              (never claim)
                s0
                                                    !p∨q                                                     s0


    s5
                              s3       ∩       s0                   s2
                                                                                              s1                   s3
          s1                                                             p∧!q
                     s2
                                                           q                                            s2
                                                                                                                               s5
                                                           s1                                 s7
                                                                                                                       s4
          s4
                                                                                                             s6

                                                                                                   s8
                                                                                                                  s9




  SSBSE 2011, Szeged, Hungary, September 10-12                                                                              3 / 25
Conclusions
 Introduction             Background       Algorithms           Experiments
                                                                                    & Future Work


Explicit State MC Properties State Explosion Heuristic MC

Explicit State Model Checking
  •  Objective: Prove that model M satisfies the property                       :
  •  In the general case, f is a temporal logic formula (LTL, CTL, etc.)


         Model M                             LTL formula ¬ f                    Intersection Büchi automaton
                                              (never claim)
                s0
                                                    !p∨q                                                     s0


    s5
                              s3       ∩       s0                   s2
                                                                                    =         s1                   s3
          s1                                                             p∧!q
                     s2
                                                           q                                            s2
                                                                                                                               s5
                                                           s1                                 s7
                                                                                                                       s4
          s4
                                                                                                             s6

                                                                                                   s8
                                                                                                                  s9




  SSBSE 2011, Szeged, Hungary, September 10-12                                                                              4 / 25
Conclusions
 Introduction             Background       Algorithms           Experiments
                                                                                    & Future Work


Explicit State MC Properties State Explosion Heuristic MC

Explicit State Model Checking
  •  Objective: Prove that model M satisfies the property                       :
  •  In the general case, f is a temporal logic formula (LTL, CTL, etc.)


         Model M                             LTL formula ¬ f                    Intersection Büchi automaton
                                              (never claim)
                s0
                                                    !p∨q                                                     s0


    s5
                              s3       ∩       s0                   s2
                                                                                    =         s1                   s3
          s1                                                             p∧!q
                     s2
                                                           q                                            s2
                                                                                                                               s5
                                                           s1                                 s7
                                                                                                                       s4
          s4
                                                                                                             s6

                                                                                                   s8
                                                                                                                  s9



                                                                                Using Nested-DFS


  SSBSE 2011, Szeged, Hungary, September 10-12                                                                              5 / 25
Conclusions
 Introduction   Background                    Algorithms   Experiments
                                                                           & Future Work


Explicit State MC Properties State Explosion Heuristic MC

Safety properties


                               s0


                s1                   s3                                   Properties in
                          s2
                                                   s5                         JPF
                s7
                                         s4
                                                                         •  Exceptions
                               s6
                                                                         •  Deadlocks
                     s8
                                    s9




  •  An error trail is an execution path ending in an error state
  •  The search for errors is transformed in a graph exploration problem (DFS, BFS)


  SSBSE 2011, Szeged, Hungary, September 10-12                                             6 / 25
Conclusions
 Introduction             Background          Algorithms      Experiments
                                                                            & Future Work


Explicit State MC Properties State Explosion Heuristic MC

State Explosion Problem
  •  Number of states very large even for small models
                               s0


                s1                   s3
                          s2
                                                           Memory
                                              s5
                s7
                                         s4
                               s6

                     s8
                                    s9


  •  Example: Dining philosophers with n philosophers → 3n states

  •  For each state we need to store the heap and the stacks of the different threads

  •  Solutions: collapse compression, minimized automaton representation, bitstate
                hashing, partial order reduction, symmetry reduction

  •  Large models cannot be verified but errors can be found


  SSBSE 2011, Szeged, Hungary, September 10-12                                              7 / 25
Conclusions
 Introduction     Background                 Algorithms                  Experiments
                                                                                              & Future Work


Explicit State MC Properties State Explosion Heuristic MC

Heuristic Model Checking
  •  The search for errors can be directed by using heuristic information

                                                               5
                                                      s0

                               2                                             2                  Heuristic value
                                       s1             3             s3
                                                 s2                                       1
                                                                                     s5
                            0
                                       s7
                                                           4
                                                                        s4       0
                                                      s6

                                   6
                                            s8                               7
                                                                   s9




  •  Different kinds of heuristic functions have been proposed in the past:
        •  Formula-based heuristics                                              •  Deadlock-detection heuristics
        •  Structural heuristics                                                 •  State-dependent heuristics


  SSBSE 2011, Szeged, Hungary, September 10-12                                                                      8 / 25
Conclusions
 Introduction     Background         Algorithms   Experiments
                                                                & Future Work


Algorithms GA GAMO PSO ACO SA

Classification of Algorithms
                                GA, GAMO,                               (working on)
                                                       EDA
                               PSO, SA, ACO

                                RS                    RDFS                Stochastic
                               Guided
                                                       BS
                      Non-guided
    Determinism




                                                                                A*

                                                                         Deterministic
                                 ?
                                  Non-complete            Complete
                                                                        DFS,
                                                                        BFS


                    Completeness
  SSBSE 2011, Szeged, Hungary, September 10-12                                           9 / 25
Conclusions
 Introduction     Background      Algorithms     Experiments
                                                                & Future Work


Algorithms GA GAMO PSO ACO SA

Genetic Algorithm
                                                                Solution encoding
                                                               (floating point values)

                                                                0.5 0.1 0.9 0.3 0.5 0.9




       Crossover



       Mutation
       0.5 0.1 0.9 0.3 0.5 0.9 → 0.5 0.1 0.6 0.3 0.5 0.9

  SSBSE 2011, Szeged, Hungary, September 10-12                                            10 / 25
Conclusions
 Introduction     Background     Algorithms   Experiments
                                                            & Future Work


Algorithms GA GAMO PSO ACO SA

Genetic Algorithm with Memory Operator
       Solution encoding
    (floating point values)

      0.5 0.1 0.9 0.3 0.5 0.9
            Index in a table of states

        0
        1
        2
        3
        … …




  SSBSE 2011, Szeged, Hungary, September 10-12                              11 / 25
Conclusions
 Introduction        Background   Algorithms   Experiments
                                                                & Future Work


Algorithms GA GAMO PSO ACO SA

Particle Swarm Optimization
                                                                     Particles
                                                    0.2 -1.4 -3.5 → Position (solution)
                                                    1.0 10.3 7.2 → Velocity




                                       Personal best
                Inertia




                                                             Global best

  SSBSE 2011, Szeged, Hungary, September 10-12                                      12 / 25
Conclusions
 Introduction    Background      Algorithms     Experiments
                                                                     & Future Work


Algorithms GA GAMO PSO ACO SA

Ant Colony Optimization




                                                          Trail
                                                                          k
                                                               τij
•  The ant selects stochastically its next
   node                                               Heuristic
                                                                              i
                                                         ηij
                                                                                                  Ni
•  The probability of selecting one node
  depends on the pheromone trail and the                                                 m
  heuristic value (optional) of the edge/node            j
                                                                                     l
•  The ant stops when a complete                                          k
  solution is built

  SSBSE 2011, Szeged, Hungary, September 10-12                                               13 / 25
Conclusions
 Introduction    Background      Algorithms     Experiments
                                                              & Future Work


Algorithms GA GAMO PSO ACO SA

Simulated Annealing




   Neighbor
   0.5 0.1 0.9 0.3 0.5 0.9 → 0.5 0.1 0.6 0.3 0.5 0.9


  SSBSE 2011, Szeged, Hungary, September 10-12                                14 / 25
Conclusions
 Introduction    Background       Algorithms         Experiments
                                                                    & Future Work


Parameterization Hit Rate Length of Error Trails

Parameterization
  •  We used 3 scalable and 2 non-scalable models for the experiments

                              Program      LoC        Classes      Processes
                          dinj                  63             1           j+1
                          phij                 176             3           j+1
                          marj                 186             4           j+1
                          giop                 746           13              7
                          garp                 458             7             7


  •  Maximum number of expanded states: 200 000
  •  Fitness function:



  •  100 independent executions of stochastic algorithms


  SSBSE 2011, Szeged, Hungary, September 10-12                                      15 / 25
Conclusions
 Introduction    Background       Algorithms         Experiments
                                                                    & Future Work


Parameterization Hit Rate Length of Error Trails

Parameterization
  •  We used 3 scalable and 2 non-scalable models for the experiments

                              Program      LoC        Classes      Processes
                                                 j=4 to 20
                          dinj                  63             1           j+1
                          phij                 176 to 36 3
                                                 j=4                       j+1
                          marj                 186       4                 j+1
                          giop                 746j=2 to 1013                7
                          garp                 458             7             7


  •  Maximum number of expanded states: 200 000
  •  Fitness function:



  •  100 independent executions of stochastic algorithms


  SSBSE 2011, Szeged, Hungary, September 10-12                                      16 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Hit rate




  SSBSE 2011, Szeged, Hungary, September 10-12                               17 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Hit rate
                                               phi




  SSBSE 2011, Szeged, Hungary, September 10-12                               18 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Hit rate
                                              din




  SSBSE 2011, Szeged, Hungary, September 10-12                               19 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Hit rate




  SSBSE 2011, Szeged, Hungary, September 10-12                               20 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                               & Future Work


Parameterization Hit Rate Length of Error Trails

Length of Error Trails

                                                             BS: 753




  SSBSE 2011, Szeged, Hungary, September 10-12                                 21 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Length of Error Trails

                                                                             BS: 172
                         DFS: 245                                            BS: 260
                         DFS: 378




  SSBSE 2011, Szeged, Hungary, September 10-12                                         22 / 25
Conclusions
 Introduction    Background      Algorithms    Experiments
                                                             & Future Work


Parameterization Hit Rate Length of Error Trails

Length of Error Trails




  SSBSE 2011, Szeged, Hungary, September 10-12                               23 / 25
Conclusions
 Introduction   Background    Algorithms   Experiments
                                                         & Future Work


Conclusions & Future Work

Conclusions & Future Work
                                   Conclusions
  •  Metaheuristics are more effective than classical algorithms in finding errors
  •  Beam Search has advantages over complete search algorithms
  •  An even distribution of the search in depth levels tends to raise hit rate
  •  Stochastic algorithms obtain short error trails

                                    Future Work
  •  Design a stochastic complete guided algorithm to find errors and verify
  •  Design of hybrid algorithms to more efficiently explore the search space
  •  Explore the design of parallel metaheuristics for this problem



  SSBSE 2011, Szeged, Hungary, September 10-12                                    24 / 25
Comparing Metaheuristic Algorithms
 for Error Detection in Java Programs
Thanks for your attention !!!




 SSBSE 2011, Szeged, Hungary, September 10-12   25 / 25

More Related Content

PDF
Searching for Liveness Property Violations in Concurrent Systems with ACO
PDF
Finding Safety Errors with ACO
PPT
An Introduction To Applied Evolutionary Meta Heuristics
PDF
Nature-inspired metaheuristic algorithms for optimization and computional int...
PDF
Metaheuristic Algorithms: A Critical Analysis
PPTX
Robot Arena Game
DOCX
Contenidos septiembre mat2ºeso
PDF
Software product line with IBEA
Searching for Liveness Property Violations in Concurrent Systems with ACO
Finding Safety Errors with ACO
An Introduction To Applied Evolutionary Meta Heuristics
Nature-inspired metaheuristic algorithms for optimization and computional int...
Metaheuristic Algorithms: A Critical Analysis
Robot Arena Game
Contenidos septiembre mat2ºeso
Software product line with IBEA

Viewers also liked (17)

PDF
PNRG & MT by Rio
PDF
Effects of population initialization on differential evolution for large scal...
ODP
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
PDF
Metaheuristic Optimization: Algorithm Analysis and Open Problems
PDF
Benchmarking languages for evolutionary algorithms
PPTX
Genetic Algorithm
PPT
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
PPTX
Introduction to Evolutionary Algorithms
PPTX
Cuckoo search algorithm
PPT
Cuckoo search
PDF
Agent-Based Configuration of (Metaheuristic) Algorithms - Doctoral dissertation
PPT
Evolution algorithms
PPTX
Genetic Algorithm
PPTX
Cuckoo Search & Firefly Algorithms
PDF
Genetic Algorithms Made Easy
PDF
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
PPSX
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
PNRG & MT by Rio
Effects of population initialization on differential evolution for large scal...
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Metaheuristic Optimization: Algorithm Analysis and Open Problems
Benchmarking languages for evolutionary algorithms
Genetic Algorithm
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Introduction to Evolutionary Algorithms
Cuckoo search algorithm
Cuckoo search
Agent-Based Configuration of (Metaheuristic) Algorithms - Doctoral dissertation
Evolution algorithms
Genetic Algorithm
Cuckoo Search & Firefly Algorithms
Genetic Algorithms Made Easy
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Ad

More from jfrchicanog (20)

PDF
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
PDF
Combinando algoritmos exactos y heurísticos para problemas en ISGB
PDF
Quasi-Optimal Recombination Operator
PDF
Uso de CMSA para resolver el problema de selección de requisitos
PDF
Enhancing Partition Crossover with Articulation Points Analysis
PDF
Search-Based Software Project Scheduling
PDF
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
PDF
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
PDF
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
PDF
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
PDF
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
PDF
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
PDF
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
PDF
On the application of SAT solvers for Search Based Software Testing
PDF
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
PDF
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
PDF
Recent Research in Search Based Software Testing
PDF
Problem Understanding through Landscape Theory
PDF
Elementary Landscape Decomposition of Combinatorial Optimization Problems
PDF
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Seminario-taller: Introducción a la Ingeniería del Software Guiada or Búsqueda
Combinando algoritmos exactos y heurísticos para problemas en ISGB
Quasi-Optimal Recombination Operator
Uso de CMSA para resolver el problema de selección de requisitos
Enhancing Partition Crossover with Articulation Points Analysis
Search-Based Software Project Scheduling
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Efficient Hill Climber for Constrained Pseudo-Boolean Optimization Problems
Efficient Hill Climber for Multi-Objective Pseudo-Boolean Optimization
Mixed Integer Linear Programming Formulation for the Taxi Sharing Problem
Descomposición en Landscapes Elementales del Problema de Diseño de Redes de R...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Resolviendo in problema multi-objetivo de selección de requisitos mediante re...
On the application of SAT solvers for Search Based Software Testing
Elementary Landscape Decomposition of the Hamiltonian Path Optimization Problem
Efficient Identification of Improving Moves in a Ball for Pseudo-Boolean Prob...
Recent Research in Search Based Software Testing
Problem Understanding through Landscape Theory
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Elementary Landscape Decomposition of Combinatorial Optimization Problems
Ad

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Cloud computing and distributed systems.
PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Cloud computing and distributed systems.
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Understanding_Digital_Forensics_Presentation.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

Comparing Metaheuristic Algorithms for Error Detection in Java Programs

  • 1. Conclusions Introduction Background Algorithms Experiments & Future Work Comparing Metaheuristic Algorithms for Error Detection in Java Programs Francisco Chicano, Marco Ferreira and Enrique Alba SSBSE 2011, Szeged, Hungary, September 10-12 1 / 25
  • 2. Conclusions Introduction Background Algorithms Experiments & Future Work Motivation Motivation •  Concurrent software is difficult to test ... •  ... and it is in the heart of a lot of critical systems •  Techniques for proving the correctness of concurrent software are required •  Model checking → fully automatic •  Traditional techniques for this purpose have problems with large models •  We compare several metaheuristics and classical algorithms for model checking SSBSE 2011, Szeged, Hungary, September 10-12 2 / 25
  • 3. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC Explicit State Model Checking •  Objective: Prove that model M satisfies the property : •  In the general case, f is a temporal logic formula (LTL, CTL, etc.) Model M LTL formula ¬ f Intersection Büchi automaton (never claim) s0 !p∨q s0 s5 s3 ∩ s0 s2 s1 s3 s1 p∧!q s2 q s2 s5 s1 s7 s4 s4 s6 s8 s9 SSBSE 2011, Szeged, Hungary, September 10-12 3 / 25
  • 4. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC Explicit State Model Checking •  Objective: Prove that model M satisfies the property : •  In the general case, f is a temporal logic formula (LTL, CTL, etc.) Model M LTL formula ¬ f Intersection Büchi automaton (never claim) s0 !p∨q s0 s5 s3 ∩ s0 s2 = s1 s3 s1 p∧!q s2 q s2 s5 s1 s7 s4 s4 s6 s8 s9 SSBSE 2011, Szeged, Hungary, September 10-12 4 / 25
  • 5. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC Explicit State Model Checking •  Objective: Prove that model M satisfies the property : •  In the general case, f is a temporal logic formula (LTL, CTL, etc.) Model M LTL formula ¬ f Intersection Büchi automaton (never claim) s0 !p∨q s0 s5 s3 ∩ s0 s2 = s1 s3 s1 p∧!q s2 q s2 s5 s1 s7 s4 s4 s6 s8 s9 Using Nested-DFS SSBSE 2011, Szeged, Hungary, September 10-12 5 / 25
  • 6. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC Safety properties s0 s1 s3 Properties in s2 s5 JPF s7 s4 •  Exceptions s6 •  Deadlocks s8 s9 •  An error trail is an execution path ending in an error state •  The search for errors is transformed in a graph exploration problem (DFS, BFS) SSBSE 2011, Szeged, Hungary, September 10-12 6 / 25
  • 7. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC State Explosion Problem •  Number of states very large even for small models s0 s1 s3 s2 Memory s5 s7 s4 s6 s8 s9 •  Example: Dining philosophers with n philosophers → 3n states •  For each state we need to store the heap and the stacks of the different threads •  Solutions: collapse compression, minimized automaton representation, bitstate hashing, partial order reduction, symmetry reduction •  Large models cannot be verified but errors can be found SSBSE 2011, Szeged, Hungary, September 10-12 7 / 25
  • 8. Conclusions Introduction Background Algorithms Experiments & Future Work Explicit State MC Properties State Explosion Heuristic MC Heuristic Model Checking •  The search for errors can be directed by using heuristic information 5 s0 2 2 Heuristic value s1 3 s3 s2 1 s5 0 s7 4 s4 0 s6 6 s8 7 s9 •  Different kinds of heuristic functions have been proposed in the past: •  Formula-based heuristics •  Deadlock-detection heuristics •  Structural heuristics •  State-dependent heuristics SSBSE 2011, Szeged, Hungary, September 10-12 8 / 25
  • 9. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Classification of Algorithms GA, GAMO, (working on) EDA PSO, SA, ACO RS RDFS Stochastic Guided BS Non-guided Determinism A* Deterministic ? Non-complete Complete DFS, BFS Completeness SSBSE 2011, Szeged, Hungary, September 10-12 9 / 25
  • 10. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Genetic Algorithm Solution encoding (floating point values) 0.5 0.1 0.9 0.3 0.5 0.9 Crossover Mutation 0.5 0.1 0.9 0.3 0.5 0.9 → 0.5 0.1 0.6 0.3 0.5 0.9 SSBSE 2011, Szeged, Hungary, September 10-12 10 / 25
  • 11. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Genetic Algorithm with Memory Operator Solution encoding (floating point values) 0.5 0.1 0.9 0.3 0.5 0.9 Index in a table of states 0 1 2 3 … … SSBSE 2011, Szeged, Hungary, September 10-12 11 / 25
  • 12. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Particle Swarm Optimization Particles 0.2 -1.4 -3.5 → Position (solution) 1.0 10.3 7.2 → Velocity Personal best Inertia Global best SSBSE 2011, Szeged, Hungary, September 10-12 12 / 25
  • 13. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Ant Colony Optimization Trail k τij •  The ant selects stochastically its next node Heuristic i ηij Ni •  The probability of selecting one node depends on the pheromone trail and the m heuristic value (optional) of the edge/node j l •  The ant stops when a complete k solution is built SSBSE 2011, Szeged, Hungary, September 10-12 13 / 25
  • 14. Conclusions Introduction Background Algorithms Experiments & Future Work Algorithms GA GAMO PSO ACO SA Simulated Annealing Neighbor 0.5 0.1 0.9 0.3 0.5 0.9 → 0.5 0.1 0.6 0.3 0.5 0.9 SSBSE 2011, Szeged, Hungary, September 10-12 14 / 25
  • 15. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Parameterization •  We used 3 scalable and 2 non-scalable models for the experiments Program LoC Classes Processes dinj 63 1 j+1 phij 176 3 j+1 marj 186 4 j+1 giop 746 13 7 garp 458 7 7 •  Maximum number of expanded states: 200 000 •  Fitness function: •  100 independent executions of stochastic algorithms SSBSE 2011, Szeged, Hungary, September 10-12 15 / 25
  • 16. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Parameterization •  We used 3 scalable and 2 non-scalable models for the experiments Program LoC Classes Processes j=4 to 20 dinj 63 1 j+1 phij 176 to 36 3 j=4 j+1 marj 186 4 j+1 giop 746j=2 to 1013 7 garp 458 7 7 •  Maximum number of expanded states: 200 000 •  Fitness function: •  100 independent executions of stochastic algorithms SSBSE 2011, Szeged, Hungary, September 10-12 16 / 25
  • 17. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Hit rate SSBSE 2011, Szeged, Hungary, September 10-12 17 / 25
  • 18. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Hit rate phi SSBSE 2011, Szeged, Hungary, September 10-12 18 / 25
  • 19. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Hit rate din SSBSE 2011, Szeged, Hungary, September 10-12 19 / 25
  • 20. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Hit rate SSBSE 2011, Szeged, Hungary, September 10-12 20 / 25
  • 21. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Length of Error Trails BS: 753 SSBSE 2011, Szeged, Hungary, September 10-12 21 / 25
  • 22. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Length of Error Trails BS: 172 DFS: 245 BS: 260 DFS: 378 SSBSE 2011, Szeged, Hungary, September 10-12 22 / 25
  • 23. Conclusions Introduction Background Algorithms Experiments & Future Work Parameterization Hit Rate Length of Error Trails Length of Error Trails SSBSE 2011, Szeged, Hungary, September 10-12 23 / 25
  • 24. Conclusions Introduction Background Algorithms Experiments & Future Work Conclusions & Future Work Conclusions & Future Work Conclusions •  Metaheuristics are more effective than classical algorithms in finding errors •  Beam Search has advantages over complete search algorithms •  An even distribution of the search in depth levels tends to raise hit rate •  Stochastic algorithms obtain short error trails Future Work •  Design a stochastic complete guided algorithm to find errors and verify •  Design of hybrid algorithms to more efficiently explore the search space •  Explore the design of parallel metaheuristics for this problem SSBSE 2011, Szeged, Hungary, September 10-12 24 / 25
  • 25. Comparing Metaheuristic Algorithms for Error Detection in Java Programs Thanks for your attention !!! SSBSE 2011, Szeged, Hungary, September 10-12 25 / 25