OAuth2.0 Implementation using Software AG Integration Server
Implementation & Integration
description
Transcript of Implementation & Integration
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
Slide 15.6
© The McGraw-Hill Companies, 2002
Product with 13 Modules
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?