Implementation & Integration

14
Implementation & Integration Research Paper Presentation Nick Conway

description

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 14 th International Conference on Software Engineering and Knowledge Engineering July, 2002. - PowerPoint PPT Presentation

Transcript of Implementation & Integration

Page 1: Implementation & Integration

Implementation & Integration

Research Paper Presentation

Nick Conway

Page 2: Implementation & Integration

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

Page 3: Implementation & Integration

Implementation & Integration Phase

Drivers and Stubs

Order Top-Down Bottom-Up Sandwich

Page 4: Implementation & Integration

Drivers, Stubs, Order

Slide 15.6

© The McGraw-Hill Companies, 2002

Product with 13 Modules

Page 5: Implementation & Integration

Complex Class Diagrams

Page 6: Implementation & Integration

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?

Page 7: Implementation & Integration

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.

Page 8: Implementation & Integration

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.

Page 9: Implementation & Integration

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).

Page 10: Implementation & Integration

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).

Page 11: Implementation & Integration

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).

Page 12: Implementation & Integration

Parameters Used

Used most common parameters from literature on TSP. Population = 100 Crossover Rate = 50% Mutation Rate = 15% Generations = 500

Page 13: Implementation & Integration

Results

Page 14: Implementation & Integration

Questions?