Nick_Conway.ppt

Download Report

Transcript Nick_Conway.ppt

Implementation & Integration
Research Paper Presentation
Nick Conway
Using Genetic Algorithms and
Coupling Measures to Devise Optimal
Integration Test Orders
 Lionel C Briand
 Jie Feng
 Yvan Labiche
 14th International Conference on Software
Engineering and Knowledge Engineering
July, 2002
Implementation & Integration
Phase
 Drivers and Stubs
 Order



Top-Down
Bottom-Up
Sandwich
Drivers, Stubs, Order
Product with 13 Modules
© The McGraw-Hill Companies, 2002
Slide 15.6
Complex Class Diagrams
Complex Class Diagrams
 Problem: cyclic.
 To devise implementation/integration order,
break dependencies to come up with an
acyclic ordering.
 Breaking a dependency means writing a stub.
 What dependencies to break?
Devising Optimal Order of
Class Integration
 Goal: minimize the complexity of stubbing
during integration.



Complexity of dependencies between modules
(classes).
Break least complex dependencies (and
therefore, write the least complex stubs).
Two simple stubs may be less costly than one
complex stub.
Why GA’s?
 Problem similar to TSP – searching for an
order that minimizes a cost function.



Heuristics allow for complexity considerations.
Global Optimization Technique – avoid getting
stuck in local minima.
Allows for consideration of external constraints.
Measuring Stub Complexity
(defining a heuristic)
 Constraint: do not break Composition or Inheritance
dependencies. Breaking these will result in complex
stubs.
 2 Measures (remaining dependencies):


A = maximum number of attributes that would have to be
handled in the stub if the dependency were broken.
M = maximum number of methods that would have to be
handled in the stub if the dependency were broken.
 Overall Complexity of stub/dependency is weighted
geometric average of the measures (A+M=1).
GA’s – Important Terms
 Chromosome – a solution to the problem (an
implementation order).
 Crossover – an evolution operator used to create a
new chromosome from two parent chromosomes
(replaces weakest chromosomes to maintain
population size).
 Mutation – allows for new solutions to arise by
mutating (changing) some of the chromosomes
(orders).
Other Parameters
 Population – number of chromosomes in the
set.
 Crossover Rate – probability that a
chromosome will undergo a crossover (each
generation).
 Mutation Rate – probability a chromosome
will undergo a mutation (each generation).
Parameters Used
 Used most common parameters from
literature on TSP.




Population = 100
Crossover Rate = 50%
Mutation Rate = 15%
Generations = 500
Results
Questions?