SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Evolutionary Algorithms
in Test Generation for digital systems
Y.A.Skobtsov,V.Y.Skobtsov
2
Outlines
• Evolutionary computation
• Classical GA
• Test generation for combinational circuits
• Test generation for sequential circuits
• Fitness functions
• Genetic programming based test generation of microprocessors
systems
• Conclusion
3
Evolutionary computation
Basic paradigms:
❖ Genetic algorithms
❖ Genetic programming
❖ Evolutionary strategies
All basic paradigms can be applied in ATPG problem solving
4
A flowchart of classical GA
Initial population generation
Selecting parents for crossover operator –
reproduction operator
Creating offsprings of selected pairs of
parents – crossover operator
Mutation of created individuals –
mutation operator
Insertion of new individuals to the current
population
Reducing the number of individuals to
given number in new population by
application of reproduction operator
Search of the best individual in final
population
Final criterion
checking – Yes/No?
Yes
No
5
Evolutionary test generation
For solving any problem with genetic algorithm we must define:
1) individual and population;
2) genetic operators;
3) fitness function.
Genetic Algorithm
Population,
individual
Genetic
operators
Fitness
function
&
EWDTW'06 , Sochi, Russia, September 15-19, 2006
6
Test generation for combinational circuits
Definition of fault detection: Pattern of input variables values X
is test for given fault if and only if
,
where f(X) is Boolean function of good circuit,
(X) is Boolean function of faulty circuit.
In the case of multiple outputs definition of fault detection can be
generalized in following manner
1)()()(  XXfXD 
1)()(())()(())()(()( 2211  XXfXXfXXfXD mm 
Combinational circuits
7
x4
x5
x1
x2
x3
x6
Table 13.1.
X1 X2 X3 X4 X5 X6
0 0 0 1 1 1
0 0 1 1 1 1
0 1 0 1 1 1
0 1 1 1 0 0
1 0 0 1 1 1
1 0 1 1 0 0
1 1 0 0 1 0
1 1 1 0 1 0
Table 13.2
Input vector
(x1, x2, x3,)
Detected
faults
Fitness function
value
h= Fn *r
000 x4 = 0, x5 =0,
x6=0
310
011 x2=0, x3=0,
x5 =1, x6=1
410
101 x2=1, x4=0,
x5 =0, x6=0
410
111 x6=1 110
8
Test Generation Genetic Algorithm
Test generation(circuit)
{
Circuit initialization;
Initial vectors population generation;
While(stopping criteria met)
{
fault simulation;
fitness function evaluation;
insertion the best vector in test;
genetic operators execution;
reproduction;
crossover;
mutation;
new population generation;
}
test sequence output;
}
9
Individuals encoding & crossover schemas for:
a) combinational circuits test generation:
b) sequential circuits test generation:
b) population
Mutation schemas:
a) deleting one randomly located input pattern
b) adding one input pattern to random position
c) random bit inversion in test sequence
10
Fitness functions :
- the weighted number of the lines with different values in fault
and fault-free circuits;
),(1 fvf
- the weighted number of flip-flops with different values in fault
and fault-free circuits;
),(2 fvf
- fitness function for test input vector v),(21),(1),( fvfcfvffvh 
flopsflipofnumber
linesofnumber
c


__
__
1
- normalization constant
),(
1
),( fivh
length
i
iLfsH 

 - fitness function for test input sequence
11
Test Generation Genetic Algorithm
test_generation(circuit)
{
fault_list_generation();
while(given_fault_coverage_not_reached)
{
object=activate_the_object_fault(); // Stage 1
if(object == NO_FAULT )
goto end;
sequence=GA:_test_sequence_generation(object)// Stage 2
if(sequence!= NO_SEQUENCE )
fault_simulation( sequence ); // Stage 3
else // can’t find the test sequence
mark_object_fault_as_not_detectible();
} // end while – given fault coverage reached
end:
} // end of the algorithm
EWDTW'06 , Sochi, Russia, September 15-19, 2006
12
Genetic programming based test generation of
microprocessors systems
MP-system is checked with the test-program consisting of Assembler
instructions:
•Individual – Assembler test-program
•Population – test-program set
Individual is represented by the directed acyclic graph (DAG) :
13
Genetic programming based test generation of
microprocessors systems
❖ Evolutionary ( + ) strategy, where
 - population power,  - offspring number.
❖ Tournament selection is applied.
❖ Genetic operators:
mutation – a new node is inserted into the DAG in a random position;
– an existing internal node is removed from DAG;
– modifying parameters of an existing internal node;
crossover – 2 different test-programs produce the 2 offspring by classical 1-
point crossover. At first, parents are analyzed to detect potential cutting
points, i.e., DAG nodes which create disjoint sub-graphs when are removed.
14
There are also the following special nodes in the program:
➢Start node
➢Stop node
➢Subprogram calling nodes
➢Library subprogram calling nodes
There are also parameters tuning, for example, the minimum and the maximum
time for a program to run.
The instruction library describes the assembly syntax, listing each possible
instructions with the syntactically correct operands.
Test programs are implemented by modifying directed graph topology and by
crossover and mutation parameters inside directed graph nodes.
A population of  individuals is cultivated, each individual representing a test
program. In each step , an offspring of  new individuals are generated. Parents
are selected using tournament selection with tournament size  (i.e.,  individuals
are randomly selected and the best is picked ). Each new individual is generated
by applying three mutation and crossover operators are implemented and applied
with own probabilities respectively.
15
Mutation:
Mutation 1 (Add node): a new node is inserted into the directed graph in a
random position.
Mutation 2 (Remove node): an existing internal node (except start or end ) is
removed from the directed graph . If the removed node was the target of one
or more branch, parents’ edges are updated.
Mutation 3 (Modify node): all parameters of an existing internal node are
randomly changed.
Crossover:
Two different programs are mated to generated a new one. First, parents are
analyzed to detect potential cutting points, i.e., vertices in the directed graph
that if removed create disjoint subgraphs Then a SAG 1-point crossover is
exploited to generate the offspring
Evolutionary operations
16
1
1 1
1
1
1
1
1
1
2
2
2
2
2
2
2
Crossover Point
Selected Sub-graph
Parent 1 Parent 2
1
1
1
1
1
1
Crossover Point
2
2
2
2
2
1
Offspring 2
Crossover
Point
2
22
1
1
2
2
2
22
Offspring 1
Crossover
Point
Selected Sub-graph
17
Fitness-function of the second level is build on the basis of coverage
measure of VHDL operators. Thus fitness-function exploits the data
obtained by means of Active VHDL (code coverage).
During construction of tests for microprocessor system is used the
following fitness-function:
, where:
Nao –the number of linear statements VHDL have been activated by test-
program
Nab –the number if statements have been activated by test program
Naс – the number of case statements have been activated by test program
No, Nb, Nc the common number of linear, if ,case statements accordingly;
co, cb, cc -normalizing constants (co+ cb+ cc=1).
cacbbabboaoo NNcNNcNNcF 
18
generation of test-program initial population;
While (not attained maximum number of generation)
{
// loop according to generations
Generation of various paths for each test program;
While (not attained stop condition )
//loop according to paths
{
Test-program generation according to correspondent path
Compilation of test-program to binary code
Entry to Active VHDL environment
Loading of binary code to ROM of microprocessor
system VHDL model
Estimation of test program coverage using Active VHDL
Exit from Active VHDL environment;
Calculation of fitness-function according to correspondent path;
} // end of loop according to paths
Calculation of fitness function for test-program
(graph);
//creation of the next generation;
Selection of parents according to fitness-function value;
Crossover;
Mutation;
Reduction of population;
} //end of loop according to generations
The algorithm of test program generation
19
Fitness function MP-systems test generation
F = Na + Nf* Nm + (Nf )2 *Nd , where
Nf – total fault number,
Na – the number of excited faults,
Nm – the number of faults that modify memory,
Nd – the number of detected faults.
20
Conclusion
Evolutionary calculations could be effectively applied to test generation
at all DS representation levels:
1. Structural (gate) level:
❖ combinational logical circuits;
❖ sequential logical circuits;
2. FSM and structural levels:
❖ highly sequential circuits ;
3. Microprocessor systems.
21
Thanks for your attention!
You can write to the authors by e-mails:
•Yuriy A. Skobtsov: ya_skobtsov@list.ru
•Vadim Yu. Skobtsov: vasko_vasko@mail.ru

Contenu connexe

Tendances

Verilog Lecture5 hust 2014
Verilog Lecture5 hust 2014Verilog Lecture5 hust 2014
Verilog Lecture5 hust 2014
Béo Tú
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
Raffi Khatchadourian
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
Fincy V.J
 
Thesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides ENThesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides EN
Marco Santambrogio
 
Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directives
Malik Tauqir Hasan
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments I
Gouthaman V
 
Vlsi lab manual exp:2
Vlsi lab manual exp:2Vlsi lab manual exp:2
Vlsi lab manual exp:2
komala vani
 
Verilog Lecture3 hust 2014
Verilog Lecture3 hust 2014Verilog Lecture3 hust 2014
Verilog Lecture3 hust 2014
Béo Tú
 

Tendances (20)

Fault simulation
Fault simulationFault simulation
Fault simulation
 
How to Connect SystemVerilog with Octave
How to Connect SystemVerilog with OctaveHow to Connect SystemVerilog with Octave
How to Connect SystemVerilog with Octave
 
Basis path testing
Basis path testingBasis path testing
Basis path testing
 
Verilog Lecture5 hust 2014
Verilog Lecture5 hust 2014Verilog Lecture5 hust 2014
Verilog Lecture5 hust 2014
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Seii unit6 software-testing-techniques
Seii unit6 software-testing-techniquesSeii unit6 software-testing-techniques
Seii unit6 software-testing-techniques
 
Thesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides ENThesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides EN
 
Notes: Verilog Part 4- Behavioural Modelling
Notes: Verilog Part 4- Behavioural ModellingNotes: Verilog Part 4- Behavioural Modelling
Notes: Verilog Part 4- Behavioural Modelling
 
SystemC Ports
SystemC PortsSystemC Ports
SystemC Ports
 
Fpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directivesFpga 06-data-types-system-tasks-compiler-directives
Fpga 06-data-types-system-tasks-compiler-directives
 
VLSI Experiments I
VLSI Experiments IVLSI Experiments I
VLSI Experiments I
 
System verilog control flow
System verilog control flowSystem verilog control flow
System verilog control flow
 
Vlsi lab manual exp:2
Vlsi lab manual exp:2Vlsi lab manual exp:2
Vlsi lab manual exp:2
 
Verilog Lecture3 hust 2014
Verilog Lecture3 hust 2014Verilog Lecture3 hust 2014
Verilog Lecture3 hust 2014
 
Verilog Lecture2 thhts
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhts
 
3DD 1e SyCers
3DD 1e SyCers3DD 1e SyCers
3DD 1e SyCers
 
Paper-review: A Parallel Test Pattern Generation Algorithm to Meet Multiple Q...
Paper-review: A Parallel Test Pattern Generation Algorithm to Meet Multiple Q...Paper-review: A Parallel Test Pattern Generation Algorithm to Meet Multiple Q...
Paper-review: A Parallel Test Pattern Generation Algorithm to Meet Multiple Q...
 
Static analysis
Static analysisStatic analysis
Static analysis
 
Systemc overview 2010
Systemc overview 2010Systemc overview 2010
Systemc overview 2010
 

En vedette

En vedette (20)

TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
 
TMPA-2017: The Quest for Average Response Time
TMPA-2017: The Quest for Average Response TimeTMPA-2017: The Quest for Average Response Time
TMPA-2017: The Quest for Average Response Time
 
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LLTMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
 
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
 
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case GenerationTMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
 
TMPA-2017: Layered Layouts for Software Systems Visualization
TMPA-2017: Layered Layouts for Software Systems VisualizationTMPA-2017: Layered Layouts for Software Systems Visualization
TMPA-2017: Layered Layouts for Software Systems Visualization
 
TMPA-2017: Stemming Architectural Decay in Software Systems
TMPA-2017:  Stemming Architectural Decay in Software SystemsTMPA-2017:  Stemming Architectural Decay in Software Systems
TMPA-2017: Stemming Architectural Decay in Software Systems
 
TMPA-2017: Modeling of PLC-programs by High-level Coloured Petri Nets
TMPA-2017: Modeling of PLC-programs by High-level Coloured Petri NetsTMPA-2017: Modeling of PLC-programs by High-level Coloured Petri Nets
TMPA-2017: Modeling of PLC-programs by High-level Coloured Petri Nets
 
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
 
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
 
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java ProgramsTMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
 
TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free TMPA-2017: Generating Cost Aware Covering Arrays For Free
TMPA-2017: Generating Cost Aware Covering Arrays For Free
 
TMPA-2017: Conference Opening
TMPA-2017: Conference OpeningTMPA-2017: Conference Opening
TMPA-2017: Conference Opening
 
TMPA-2017: Static Checking of Array Objects in JavaScript
TMPA-2017: Static Checking of Array Objects in JavaScriptTMPA-2017: Static Checking of Array Objects in JavaScript
TMPA-2017: Static Checking of Array Objects in JavaScript
 
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
TMPA-2017: Defect Report Classification in Accordance with Areas of TestingTMPA-2017: Defect Report Classification in Accordance with Areas of Testing
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
 
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
TMPA-2017: Compositional Process Model Synthesis based on Interface PatternsTMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
 
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
 
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
 
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
 

Similaire à TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems

Application of Genetic Algorithm in Software Testing
Application of Genetic Algorithm in Software TestingApplication of Genetic Algorithm in Software Testing
Application of Genetic Algorithm in Software Testing
Ghanshyam Yadav
 
powerpoint feb
powerpoint febpowerpoint feb
powerpoint feb
imu409
 
Combinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic AlgorithmCombinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic Algorithm
Vivek Maheshwari
 
Human_Activity_Recognition_Predictive_Model
Human_Activity_Recognition_Predictive_ModelHuman_Activity_Recognition_Predictive_Model
Human_Activity_Recognition_Predictive_Model
David Ritchie
 
EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171
Yaxin Liu
 
Advance mathematics mid term presentation rev01
Advance mathematics mid term presentation rev01Advance mathematics mid term presentation rev01
Advance mathematics mid term presentation rev01
Nirmal Joshi
 
04 2 machine evolution
04 2 machine evolution04 2 machine evolution
04 2 machine evolution
Tianlu Wang
 

Similaire à TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems (20)

Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...
 
Application of Genetic Algorithm in Software Testing
Application of Genetic Algorithm in Software TestingApplication of Genetic Algorithm in Software Testing
Application of Genetic Algorithm in Software Testing
 
powerpoint feb
powerpoint febpowerpoint feb
powerpoint feb
 
Combinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic AlgorithmCombinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic Algorithm
 
Two methods for optimising cognitive model parameters
Two methods for optimising cognitive model parametersTwo methods for optimising cognitive model parameters
Two methods for optimising cognitive model parameters
 
Human_Activity_Recognition_Predictive_Model
Human_Activity_Recognition_Predictive_ModelHuman_Activity_Recognition_Predictive_Model
Human_Activity_Recognition_Predictive_Model
 
EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171EE660_Report_YaxinLiu_8448347171
EE660_Report_YaxinLiu_8448347171
 
Da35573574
Da35573574Da35573574
Da35573574
 
1_chlamydia task completely best.docx
1_chlamydia task completely best.docx1_chlamydia task completely best.docx
1_chlamydia task completely best.docx
 
Genetic Algorithms
Genetic AlgorithmsGenetic Algorithms
Genetic Algorithms
 
ECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOCECG beats classification using multiclass SVMs with ECOC
ECG beats classification using multiclass SVMs with ECOC
 
White Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhWhite Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR Chandigarh
 
genetic programming
genetic programminggenetic programming
genetic programming
 
Accelerating the ant colony optimization by
Accelerating the ant colony optimization byAccelerating the ant colony optimization by
Accelerating the ant colony optimization by
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven Strategies
 
All projects
All projectsAll projects
All projects
 
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
 
Advance mathematics mid term presentation rev01
Advance mathematics mid term presentation rev01Advance mathematics mid term presentation rev01
Advance mathematics mid term presentation rev01
 
04 2 machine evolution
04 2 machine evolution04 2 machine evolution
04 2 machine evolution
 
Monadic genetic kernels in Scala
Monadic genetic kernels in ScalaMonadic genetic kernels in Scala
Monadic genetic kernels in Scala
 

Plus de Iosif Itkin

Plus de Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems

  • 1. Evolutionary Algorithms in Test Generation for digital systems Y.A.Skobtsov,V.Y.Skobtsov
  • 2. 2 Outlines • Evolutionary computation • Classical GA • Test generation for combinational circuits • Test generation for sequential circuits • Fitness functions • Genetic programming based test generation of microprocessors systems • Conclusion
  • 3. 3 Evolutionary computation Basic paradigms: ❖ Genetic algorithms ❖ Genetic programming ❖ Evolutionary strategies All basic paradigms can be applied in ATPG problem solving
  • 4. 4 A flowchart of classical GA Initial population generation Selecting parents for crossover operator – reproduction operator Creating offsprings of selected pairs of parents – crossover operator Mutation of created individuals – mutation operator Insertion of new individuals to the current population Reducing the number of individuals to given number in new population by application of reproduction operator Search of the best individual in final population Final criterion checking – Yes/No? Yes No
  • 5. 5 Evolutionary test generation For solving any problem with genetic algorithm we must define: 1) individual and population; 2) genetic operators; 3) fitness function. Genetic Algorithm Population, individual Genetic operators Fitness function & EWDTW'06 , Sochi, Russia, September 15-19, 2006
  • 6. 6 Test generation for combinational circuits Definition of fault detection: Pattern of input variables values X is test for given fault if and only if , where f(X) is Boolean function of good circuit, (X) is Boolean function of faulty circuit. In the case of multiple outputs definition of fault detection can be generalized in following manner 1)()()(  XXfXD  1)()(())()(())()(()( 2211  XXfXXfXXfXD mm 
  • 7. Combinational circuits 7 x4 x5 x1 x2 x3 x6 Table 13.1. X1 X2 X3 X4 X5 X6 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 Table 13.2 Input vector (x1, x2, x3,) Detected faults Fitness function value h= Fn *r 000 x4 = 0, x5 =0, x6=0 310 011 x2=0, x3=0, x5 =1, x6=1 410 101 x2=1, x4=0, x5 =0, x6=0 410 111 x6=1 110
  • 8. 8 Test Generation Genetic Algorithm Test generation(circuit) { Circuit initialization; Initial vectors population generation; While(stopping criteria met) { fault simulation; fitness function evaluation; insertion the best vector in test; genetic operators execution; reproduction; crossover; mutation; new population generation; } test sequence output; }
  • 9. 9 Individuals encoding & crossover schemas for: a) combinational circuits test generation: b) sequential circuits test generation: b) population Mutation schemas: a) deleting one randomly located input pattern b) adding one input pattern to random position c) random bit inversion in test sequence
  • 10. 10 Fitness functions : - the weighted number of the lines with different values in fault and fault-free circuits; ),(1 fvf - the weighted number of flip-flops with different values in fault and fault-free circuits; ),(2 fvf - fitness function for test input vector v),(21),(1),( fvfcfvffvh  flopsflipofnumber linesofnumber c   __ __ 1 - normalization constant ),( 1 ),( fivh length i iLfsH    - fitness function for test input sequence
  • 11. 11 Test Generation Genetic Algorithm test_generation(circuit) { fault_list_generation(); while(given_fault_coverage_not_reached) { object=activate_the_object_fault(); // Stage 1 if(object == NO_FAULT ) goto end; sequence=GA:_test_sequence_generation(object)// Stage 2 if(sequence!= NO_SEQUENCE ) fault_simulation( sequence ); // Stage 3 else // can’t find the test sequence mark_object_fault_as_not_detectible(); } // end while – given fault coverage reached end: } // end of the algorithm EWDTW'06 , Sochi, Russia, September 15-19, 2006
  • 12. 12 Genetic programming based test generation of microprocessors systems MP-system is checked with the test-program consisting of Assembler instructions: •Individual – Assembler test-program •Population – test-program set Individual is represented by the directed acyclic graph (DAG) :
  • 13. 13 Genetic programming based test generation of microprocessors systems ❖ Evolutionary ( + ) strategy, where  - population power,  - offspring number. ❖ Tournament selection is applied. ❖ Genetic operators: mutation – a new node is inserted into the DAG in a random position; – an existing internal node is removed from DAG; – modifying parameters of an existing internal node; crossover – 2 different test-programs produce the 2 offspring by classical 1- point crossover. At first, parents are analyzed to detect potential cutting points, i.e., DAG nodes which create disjoint sub-graphs when are removed.
  • 14. 14 There are also the following special nodes in the program: ➢Start node ➢Stop node ➢Subprogram calling nodes ➢Library subprogram calling nodes There are also parameters tuning, for example, the minimum and the maximum time for a program to run. The instruction library describes the assembly syntax, listing each possible instructions with the syntactically correct operands. Test programs are implemented by modifying directed graph topology and by crossover and mutation parameters inside directed graph nodes. A population of  individuals is cultivated, each individual representing a test program. In each step , an offspring of  new individuals are generated. Parents are selected using tournament selection with tournament size  (i.e.,  individuals are randomly selected and the best is picked ). Each new individual is generated by applying three mutation and crossover operators are implemented and applied with own probabilities respectively.
  • 15. 15 Mutation: Mutation 1 (Add node): a new node is inserted into the directed graph in a random position. Mutation 2 (Remove node): an existing internal node (except start or end ) is removed from the directed graph . If the removed node was the target of one or more branch, parents’ edges are updated. Mutation 3 (Modify node): all parameters of an existing internal node are randomly changed. Crossover: Two different programs are mated to generated a new one. First, parents are analyzed to detect potential cutting points, i.e., vertices in the directed graph that if removed create disjoint subgraphs Then a SAG 1-point crossover is exploited to generate the offspring Evolutionary operations
  • 16. 16 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 Crossover Point Selected Sub-graph Parent 1 Parent 2 1 1 1 1 1 1 Crossover Point 2 2 2 2 2 1 Offspring 2 Crossover Point 2 22 1 1 2 2 2 22 Offspring 1 Crossover Point Selected Sub-graph
  • 17. 17 Fitness-function of the second level is build on the basis of coverage measure of VHDL operators. Thus fitness-function exploits the data obtained by means of Active VHDL (code coverage). During construction of tests for microprocessor system is used the following fitness-function: , where: Nao –the number of linear statements VHDL have been activated by test- program Nab –the number if statements have been activated by test program Naс – the number of case statements have been activated by test program No, Nb, Nc the common number of linear, if ,case statements accordingly; co, cb, cc -normalizing constants (co+ cb+ cc=1). cacbbabboaoo NNcNNcNNcF 
  • 18. 18 generation of test-program initial population; While (not attained maximum number of generation) { // loop according to generations Generation of various paths for each test program; While (not attained stop condition ) //loop according to paths { Test-program generation according to correspondent path Compilation of test-program to binary code Entry to Active VHDL environment Loading of binary code to ROM of microprocessor system VHDL model Estimation of test program coverage using Active VHDL Exit from Active VHDL environment; Calculation of fitness-function according to correspondent path; } // end of loop according to paths Calculation of fitness function for test-program (graph); //creation of the next generation; Selection of parents according to fitness-function value; Crossover; Mutation; Reduction of population; } //end of loop according to generations The algorithm of test program generation
  • 19. 19 Fitness function MP-systems test generation F = Na + Nf* Nm + (Nf )2 *Nd , where Nf – total fault number, Na – the number of excited faults, Nm – the number of faults that modify memory, Nd – the number of detected faults.
  • 20. 20 Conclusion Evolutionary calculations could be effectively applied to test generation at all DS representation levels: 1. Structural (gate) level: ❖ combinational logical circuits; ❖ sequential logical circuits; 2. FSM and structural levels: ❖ highly sequential circuits ; 3. Microprocessor systems.
  • 21. 21 Thanks for your attention! You can write to the authors by e-mails: •Yuriy A. Skobtsov: ya_skobtsov@list.ru •Vadim Yu. Skobtsov: vasko_vasko@mail.ru