RITA demonstration Juha Taina Antti Tevanlinna Rita prototype

  • Slides: 16
Download presentation
RITA demonstration Juha Taina, Antti Tevanlinna

RITA demonstration Juha Taina, Antti Tevanlinna

Rita prototype status • Following the preliminary specifications we started Rita prototype implementation in

Rita prototype status • Following the preliminary specifications we started Rita prototype implementation in February 2003. • As the basis of the prototype we used the previous prototype version, which turned out to be quite valuable for our use. • We expect to finish the first relatively complete Rita prototype in May.

Defined RITA inputs and outputs (according to the specification) Partial code Test results Template

Defined RITA inputs and outputs (according to the specification) Partial code Test results Template and hook classes Statistics RITA Test cases New test cases Drivers & Stubs

Defined RITA inputs • Partial code – Code created from the used framework, framelets

Defined RITA inputs • Partial code – Code created from the used framework, framelets and application code. • Template and hook classes – Class candidates are identified and correct classes are chosen by the end users. • Test material – Either manual or RITA-generated material. • Drivers and Stubs – Either manual or RITA-generated drivers and stubs.

Defined RITA outputs • Test results – Passed and failed tests. • Statistics –

Defined RITA outputs • Test results – Passed and failed tests. • Statistics – – Hot-spot, code, and data coverage. Test results. New test cases. Automatically generated test cases based on template and hook class interfaces. • Generated drivers and stubs – Automatic driver and stub generation based on frameworks and framelets.

Reality (Current status) • During the prototype design and implementation phase we have created

Reality (Current status) • During the prototype design and implementation phase we have created a few shortcuts and implemented some interesting new features. • The inputs to Rita are generally unchanged. However, the outputs have lived a few evolution phases. • The current prototype inputs and outputs are in the next few slides.

Inputs • Partial code • Test case code • Structure presentation of the framework

Inputs • Partial code • Test case code • Structure presentation of the framework components and their relationships.

Outputs - method • Code coverage, branch coverage. • Flowchart presentation of methods and

Outputs - method • Code coverage, branch coverage. • Flowchart presentation of methods and test executions. • Code.

Outputs - class • Reference coverage (soon). • Visit coverage. • Excellent algorithm for

Outputs - class • Reference coverage (soon). • Visit coverage. • Excellent algorithm for expressing method references within a class. • Code. • Coverage visualizations (soon).

Outputs - template • Dynamic relationships within a package (or a framework component) in

Outputs - template • Dynamic relationships within a package (or a framework component) in UML-style. – (Currently uses packages as subsystems. ) • Raine’s template view coverages (soon). • Template and hook visualization (soon).

Outputs -framework • Components of the framework. • Relationships between components. • Connected and

Outputs -framework • Components of the framework. • Relationships between components. • Connected and unconnected hot spots (hooks).

Work so far • General tested project structure: – Project->Framework component -> Class ->

Work so far • General tested project structure: – Project->Framework component -> Class -> Method • Dynamic component extractor and relationship resolver (currently outside RITA but easily included in the source code). • Complete java language parser.

Work so far (cont. ) • Internal language-independent method-level graph presentation. • Framework for

Work so far (cont. ) • Internal language-independent method-level graph presentation. • Framework for executing tests, defining coverages, and analysing test results. • Well-defined hooks for adding new tests on the fly.

Work so far (cont 2. ) • Generic graph visualization algorithm that dynamically adjusts

Work so far (cont 2. ) • Generic graph visualization algorithm that dynamically adjusts node positions and minimizes edge collisions. • Generic, flexible, fully scalable, and relocatable shape presentation. • Dynamic flow charts from source code. • Windowed user interface.

Summary • Rita prototypes has proved to be useful even in our own development.

Summary • Rita prototypes has proved to be useful even in our own development. • Although we are satisfied with our work, nevertheless this is a prototype. It is likely that in the future this version must be discarded and a new one implemented from scratch. We leave this work to Rain… the future Rita project members.

Thanks for your attention • Questions? • Comments? • And mostly, suggestions, please?

Thanks for your attention • Questions? • Comments? • And mostly, suggestions, please?