SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Póster: Comparing evolutionary algorithms to solve the game of MasterMindPóster: Comparing evolutionary algorithms to solve the game of MasterMind
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Juan J. Merelo
 
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Visão Geral, Ferramentas e Aplicações dos Algoritmos GenéticosVisão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Norton Guimarães
 
Cuckoo search algorithm
Cuckoo search algorithmCuckoo search algorithm
Cuckoo search algorithm
Ritesh Kumar
 
Cuckoo search
Cuckoo searchCuckoo search
Cuckoo search
NepalAdz
 
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ESCovariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Osama Salaheldin
 

En vedette (17)

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

Plus de jfrchicanog

Plus de jfrchicanog (20)

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

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

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