Upload
arleen-daniels
View
213
Download
0
Embed Size (px)
Citation preview
RITA demonstration
Juha Taina,
Antti Tevanlinna
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.
RITA
Partial code
Template andhook classes
Test cases
Drivers &Stubs
Test results
Statistics
New testcases
Drivers &Stubs
Defined RITA inputs and outputs (according to the specification)
• 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 inputs
• 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.
Defined RITA outputs
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 components and their relationships.
Outputs - method
• Code coverage, branch coverage.
• Flowchart presentation of methods and test executions.
• Code.
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 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 unconnected hot spots (hooks).
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 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 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.
• 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?