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?