1 / 14

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

kasen
Télécharger la présentation

Implementation & Integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementation & Integration Research Paper Presentation Nick Conway

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

  3. Implementation & Integration Phase • Drivers and Stubs • Order • Top-Down • Bottom-Up • Sandwich

  4. Drivers, Stubs, Order

  5. Complex Class Diagrams

  6. 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?

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

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

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

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

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

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

  13. Results

  14. Questions?

More Related