Presentation

Download Report

Transcript Presentation

Bogor-Java Environment
for Eclipse
MSE Presentation III
Yong Peng
Outline







Component Design
Assessment Evaluation
Project Evaluation
Future Work
Conclusion
Demo
Questions & Comments
Component Design



Component design is the detailed design for each
component.
This project includes three new plug-ins and one
updated plug-in.
In the following several slides, incremental compilation
plug-in will be used as an example for component
design.
Component Design (Cont.)

High-level component diagram of incremental compilation plug-in.
Component Design (Cont.)
Life cycle methods
Error and log methods

This class handles the life cycle of the plug-in. It provides the error
and log methods to log errors. Eclipse uses this class and the plug-in
configuration XML to register this plug-in into Eclipse environment.
Component Design (Cont.)
add delta vistor :
BytecodeToBirBuilder
: eclipse
eclipse listens
the action: full
build or delta
build.
1. if it's a full
build
: BirHandler
1. full build
1.1. fullBuild(monitor : IProgressMonitor)
1.2. add resource vistor
1.3. createBir(resource : IResource)
1.4. writeBIR(resource : IResource, monitor : IProgressMonitor)
2. if it's a delta
build
2. delta build
2.1. incrementalBuild(delta : IResourceDelta, monitor : IProgressMonitor)
2.2. add delta visitor
2.3. create/delete BIR
2.4. if delete: deleteBIR(resource : IResource, monitor : IProgressMonitor)
2.5. if write: writeBIR(resource : IResource, monitor : IProgressMonitor)
Component Design (Cont.)
Full and delta build methods
Create and delete BIR methods

This class handles Bytecode-to-BIR full and delta build. Method
“createBir” and “deleteBir” are two helper methods. Full and delta
build methods use those two helper methods to create and delete
BIR files in file system.
Component Design (Cont.)

This is the helper class that perform delete and write BIR files functions.

The “createBir” and “deleteBir” in BytecodeToBirBuilder class use
“writeBIR” and “deleteBIR” methods to delete and write BIR files in file
system.
Component Design (Cont.)

The details for other plug-ins can be found in component design
document. The following is the URL of design document.

http://www.cis.ksu.edu/~yongpeng/phase3/ComponentDesign.pdf
Assessment Evaluation
Test Case#
Test Unit
SR(s) Tested Result
1.1
Incremental
compilation
1.2
Pass
1.2
Add nature
1.1
Pass
2.1
Launcher
2.1, 2.2, 2.3
Pass
2.2
Model checking
output
2.4
Pass
3
Trace error
3
Pass
4
BogorVM view
4.1, 4.2, 4.3
Pass
Assessment Evaluation (Cont.)

TPTP Automated GUI Recorder




This tool allows users to record GUI actions in the Eclipse
platform and play them back to verify the functionality of their
product.
It is used to do automate regression tests.
It is part of Eclipse TPTP test framework.
This tool comes out on August, 2005. Since this tool is
still in the technology preview stage and has incomplete
features, I only used its “Quick Run” function.

The “Quick Run” function uses the currently running workbench
as the context to run the selected test cases.
Assessment Evaluation (Cont.)
Project Evaluation

Problems Encountered
 Comprehending

Require more Bogor and Eclipse knowledge to
understand requirement
 Understanding


Eclipse Frameworks
Steep learning curve
Lacking development document
 FSM

Project Requirements
for the formal specification
System states and actions missing
Project Evaluation(Cont.)


The total SLOC predicted: 6000
The actual SLOC implemented for each plug-in
 Incremental compilation: 556
 BogorVM view: 2556
 Launcher: 1429
 Error trace in Java: 200
 Total: 4741
Project Evaluation(Cont.)

Phase
Expected finish
time
Actual finish time
Phase I
August 7, 2005
August 7, 2005
Phase II
October 18, 2005
November 11, 2005
Phase III
December 12, 2005 December 12, 2005
The problems encountered when created formal specifications
during the second phase was the cause of delay.
Project Evaluation(Cont.)
Project Breakdown by Phase
Phas e III
21%
Phas e I
43%
Phas e II
36%
Phase I

Phase II
Total hours: 242 hours
Phase III
Project Evaluation – Phase I
Phase I
Study
PDE&JDT
34%
Design &
Document
17%
Build Prototype
49%
Design & Document
Build Prototype
Study PDE&JDT
Project Evaluation – Phase II
Phase II
Design &
Document
44%
Coding
56%
Design & Document
Coding
Project Evaluation – Phase III
Phase III
Testing
21%
Design
7%
Coding
29%
Document
43%
Design
Coding
Document
Testing
Future Work

Making the counter example view as usable as the
Eclipse Java debugger





add break-point function when tracing errors
change error trace fully to Java level
etc.
Improving configuration tab in launch pad
Adding syntax highlighting function to BogorVM view
Conclusion

Learnt new technology




Went through full Software Development Life Cycle


JFace, SWT Frameworks
JDT, PDE
TPTP’s Automated GUI Recorder
Applied iterative process in this project
Learnt the importance of documentation

For example: Tracing back to Vision Document for the
system requirements details
Demo
Create a demo java project and Deadlock.java
Demo (cont.)
Add Bytecode-to-BIR Builder
Demo (cont.)
BIR files are generated.
Demo (cont.)
Open BogorVM BIR View
Demo (cont.)
BIR displays in the BogorVM BIR view.
Demo (cont.)
BIR is highlighted if click on Java code in Java editor.
Demo (cont.)
Open launcher, create a new Bogor VM configuration.
Demo (cont.)
Default Bogor configuration will be load from a properties file
Demo (cont.)
Add a “test” parameter into config.
Demo (cont.)
The newly added parameter shows in the Bogor Config tab.
Demo (cont.)
Remove the “test” parameter, and click Run. A bogor-trail file is
generated and the result is output in eclipse console.
Demo (cont.)
Double click on the trail file, it opens Bogor counter examples view,
bogor-trails editor, and Java editor.
Demo (cont.)
Step through the error trace
Questions & Comments