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
Ad

Recommended

PDF
Searching for Liveness Property Violations in Concurrent Systems with ACO
jfrchicanog
 
PDF
Finding Safety Errors with ACO
jfrchicanog
 
PPT
An Introduction To Applied Evolutionary Meta Heuristics
biofractal
 
PDF
Nature-inspired metaheuristic algorithms for optimization and computional int...
Xin-She Yang
 
PDF
Metaheuristic Algorithms: A Critical Analysis
Xin-She Yang
 
PPTX
Robot Arena Game
Jianfeng Chen
 
DOCX
Contenidos septiembre mat2ºeso
siesarona
 
PDF
Software product line with IBEA
Jianfeng Chen
 
PDF
PNRG & MT by Rio
Agate Studio
 
PDF
Effects of population initialization on differential evolution for large scal...
Borhan Kazimipour
 
ODP
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Juan J. Merelo
 
PDF
Metaheuristic Optimization: Algorithm Analysis and Open Problems
Xin-She Yang
 
PDF
Benchmarking languages for evolutionary algorithms
Juan J. Merelo
 
PPTX
Genetic Algorithm
Pratheeban Rajendran
 
PPT
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Norton Guimarães
 
PPTX
Introduction to Evolutionary Algorithms
herbps10
 
PPTX
Cuckoo search algorithm
Ritesh Kumar
 
PPT
Cuckoo search
NepalAdz
 
PDF
Agent-Based Configuration of (Metaheuristic) Algorithms - Doctoral dissertation
Dagmar Monett
 
PPT
Evolution algorithms
Andrii Babii
 
PPTX
Genetic Algorithm
SHIMI S L
 
PPTX
Cuckoo Search & Firefly Algorithms
Mustafa Salam
 
PDF
Genetic Algorithms Made Easy
Prakash Pimpale
 
PDF
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Osama Salaheldin
 
PPSX
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Osama Salaheldin
 
PPTX
A Case Study of Expressively Constrainable Level Design Automation Tools for ...
rndmcnlly
 
PDF
Double patterning (4/20 update)
Danny Luk
 
PPT
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
David Rosenblum
 
PDF
Augmented reallityandeducation1
Amin Meyghani
 
PPT
Advanced computer architecture
Md. Mahedi Mahfuj
 

More Related Content

Viewers also liked (17)

PDF
PNRG & MT by Rio
Agate Studio
 
PDF
Effects of population initialization on differential evolution for large scal...
Borhan Kazimipour
 
ODP
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Juan J. Merelo
 
PDF
Metaheuristic Optimization: Algorithm Analysis and Open Problems
Xin-She Yang
 
PDF
Benchmarking languages for evolutionary algorithms
Juan J. Merelo
 
PPTX
Genetic Algorithm
Pratheeban Rajendran
 
PPT
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Norton Guimarães
 
PPTX
Introduction to Evolutionary Algorithms
herbps10
 
PPTX
Cuckoo search algorithm
Ritesh Kumar
 
PPT
Cuckoo search
NepalAdz
 
PDF
Agent-Based Configuration of (Metaheuristic) Algorithms - Doctoral dissertation
Dagmar Monett
 
PPT
Evolution algorithms
Andrii Babii
 
PPTX
Genetic Algorithm
SHIMI S L
 
PPTX
Cuckoo Search & Firefly Algorithms
Mustafa Salam
 
PDF
Genetic Algorithms Made Easy
Prakash Pimpale
 
PDF
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Osama Salaheldin
 
PPSX
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Osama Salaheldin
 
PNRG & MT by Rio
Agate Studio
 
Effects of population initialization on differential evolution for large scal...
Borhan Kazimipour
 
Póster: Comparing evolutionary algorithms to solve the game of MasterMind
Juan J. Merelo
 
Metaheuristic Optimization: Algorithm Analysis and Open Problems
Xin-She Yang
 
Benchmarking languages for evolutionary algorithms
Juan J. Merelo
 
Genetic Algorithm
Pratheeban Rajendran
 
Visão Geral, Ferramentas e Aplicações dos Algoritmos Genéticos
Norton Guimarães
 
Introduction to Evolutionary Algorithms
herbps10
 
Cuckoo search algorithm
Ritesh Kumar
 
Cuckoo search
NepalAdz
 
Agent-Based Configuration of (Metaheuristic) Algorithms - Doctoral dissertation
Dagmar Monett
 
Evolution algorithms
Andrii Babii
 
Genetic Algorithm
SHIMI S L
 
Cuckoo Search & Firefly Algorithms
Mustafa Salam
 
Genetic Algorithms Made Easy
Prakash Pimpale
 
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Osama Salaheldin
 
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Osama Salaheldin
 

Similar to Comparing Metaheuristic Algorithms for Error Detection in Java Programs (20)

PPTX
A Case Study of Expressively Constrainable Level Design Automation Tools for ...
rndmcnlly
 
PDF
Double patterning (4/20 update)
Danny Luk
 
PPT
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
David Rosenblum
 
PDF
Augmented reallityandeducation1
Amin Meyghani
 
PPT
Advanced computer architecture
Md. Mahedi Mahfuj
 
PPT
Lect21 Engin112
John Williams
 
PDF
SPICE MODEL of TC74HC00AF in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HC00AP in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HC00AFN in SPICE PARK
Tsuyoshi Horigome
 
PPTX
Parsing using graphs
kpingali
 
PDF
SPICE MODEL of TC74VHC00F in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74VHC00FT in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74VHC00FN in SPICE PARK
Tsuyoshi Horigome
 
PDF
Feature Location for Multi-Layer System Based on Formal Concept Analysis
Hiroshi Kazato
 
PDF
SPICE MODEL of TC74HCT00AF in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HCT00AP in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HCT08AF in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HCT08AP in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74HCT00AFN in SPICE PARK
Tsuyoshi Horigome
 
PDF
SPICE MODEL of TC74LCX32F in SPICE PARK
Tsuyoshi Horigome
 
A Case Study of Expressively Constrainable Level Design Automation Tools for ...
rndmcnlly
 
Double patterning (4/20 update)
Danny Luk
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
David Rosenblum
 
Augmented reallityandeducation1
Amin Meyghani
 
Advanced computer architecture
Md. Mahedi Mahfuj
 
Lect21 Engin112
John Williams
 
SPICE MODEL of TC74HC00AF in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HC00AP in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HC00AFN in SPICE PARK
Tsuyoshi Horigome
 
Parsing using graphs
kpingali
 
SPICE MODEL of TC74VHC00F in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74VHC00FT in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74VHC00FN in SPICE PARK
Tsuyoshi Horigome
 
Feature Location for Multi-Layer System Based on Formal Concept Analysis
Hiroshi Kazato
 
SPICE MODEL of TC74HCT00AF in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HCT00AP in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HCT08AF in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HCT08AP in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74HCT00AFN in SPICE PARK
Tsuyoshi Horigome
 
SPICE MODEL of TC74LCX32F in SPICE PARK
Tsuyoshi Horigome
 
Ad

More from jfrchicanog (20)

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

Recently uploaded (20)

PDF
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
PPTX
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
PPTX
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
PDF
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
PDF
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
PDF
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
PDF
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
PDF
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
PDF
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
PDF
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
PDF
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
PDF
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
PDF
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
PDF
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
The Future of Product Management in AI ERA.pdf
Alyona Owens
 
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 

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