Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.
-
Upload
gwendolyn-parks -
Category
Documents
-
view
221 -
download
1
Transcript of Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.
OutlineOutline
Project Plan Cost Estimation - COCOMO Architecture Design Formal Specification Test Plan Inspection Checklist Phase III Deliverables Demo Questions & Comments
Project Plan – Current StatusProject Plan – Current Status
182 hours on the project (phase I & phase II) Coding/debugging: 95 hours Research/reading: 44 hours Documentation: 43 hours Java code: about 5600 LOC XML: about 120 LOC(half of them are automatically
generated by eclipse.) 95% function complete 5 documents complete
Project Plan – Current StatusProject Plan – Current Status
Development completed for incremental plug-in Development completed for launcher plug-in Development completed for viewer plug-in 50% completed on error trace in Java plug-in
Project Plan(cont.)Project Plan(cont.)
Productivity– (5600 + 120)/95 = 60.21 LOC/Hour– 5 documents / 43 = 0.12 Docs/Hour
Remaining work– About 300 LOC– 4 – 5 documents– Unit testing– Update Java doc
Project Plan(cont.)Project Plan(cont.)
Remaining effort– 300/60.21 = 4.98 Hours– 5 documents / 0.12 = 42 Hours– Estimated 40 hours for testing and test document
Cost Estimation - COCOMOCost Estimation - COCOMO
COCOMOThe following equation is used to estimate the effort and time.Effort = 3.2* EAF * (Size)^1.05Time (in month) = 2.5 * (Effort)^0.38 Where:
Effort = number of staff-monthsEAF = product of 15 effort adjustment factorsSize = number of KSLOC (preferred)
The values of EAF is documented in Project Plan document.
Effort = 3.2 *0.96 * 6 ^ 1.05 = 20.2 staff months
Time = 2.5 (Effort)^0.38 = 2.5 * (20.2)^0.38 = 7.8 months
Architecture DesignArchitecture Design
•This project is to develop eclipse plug-ins, the architecture of this project is based on eclipse plug-ins architecture•The following slides will be presenting class diagrams and component diagrams•Since there are many dependencies to the eclipse API, the class diagram doesn’t show all the relationships.•The component diagrams show all the relationships among packages.
Architecture Design(contd.)Architecture Design(contd.)
Error Trace
CounterExampleView
openJavaFile() : IEditorParthighlightLoc(reset : boolean, lineNumber : int) : voidupdateLoc() : voidupdateTrees() : void
(from views)
Formal SpecificationFormal Specification
This project uses FSM for the formal specification. The FSMs only focus on major actions in plug-in. There are assumptions to execute FSM, such as
– There is an assumption for Bogor VM view FSM that is Java editor is opened before execute this FSM.
The box shape in FSM presents system states The dotted edge presents plug-in event. The solid edge presents user action.
Test PlanTest Plan Features to be tested – All features from vision document V2.0
– SR1.1 (Critical requirement) - Incremental Compilation– SR1.2 (Critical requirement) – Add a new nature into Java project– SR2.1 (Critical requirement) – Create a launcher– SR2.2 (Critical requirement) – Create a main tab– SR2.3 (Critical requirement) – Create a properties configuration tab– SR2.4 – Output model check result into Eclipse console– SR3 (Critical requirement) – Trace errors in Java program– SR4.1 (Critical requirement) – Create a viewer to display compiled BIR– SR4.2 - Highlight Java in java editor– SR4.3 - Highlight BIR in Bogor VM Viewer
Only functional black box testing will be performed All test result will be documented.
Test Plan(cont.)Test Plan(cont.) Test case example
– In test case #1.1: If 1 3 4 executes, open project properties, the “Bytecode to BIR Builder” should disappear.
Test Plan(cont.)Test Plan(cont.) We have discovered a new eclipse plug-in to test GUI program. The name of
this plug-in is Eclipse Test and Performance Tools Platform Project(TPTP) The tool may be useful in this project is called TPTP's Automated GUI
Recorder which is one of TPTP’s tools. “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 meant to allow Eclipse developers to automate regression tests that often require many resources to perform repetitive tasks to verify basic functionalities.” (http://www.eclipse.org/tptp/test/documents/userguides/Intro-Auto-GUI.html)
I will be studying this tool to see if it can be incorporated into this project for the testing.
TPTP’s website: http://www.eclipse.org/tptp TPTP's Automated GUI Recorder’s website
http://www.eclipse.org/tptp/test/documents/userguides/Intro-Auto-GUI.html
Inspection ChecklistInspection Checklist
The symbols used in the class diagrams conform to UML standards The symbols used in the component diagrams conform to UML
standards The descriptions of the classes in the Architecture Design document
are clear and adequate. The FSM are clear and adequate. The relationships in FSM are correct. Test cases in test plan are clear and adequate.
Phase III DeliverablesPhase III Deliverables
User Manual Component Design Source Code Project Evaluation Assessment Evaluation References Formal Technical Inspection Letters
Demo (contd.)Demo (contd.) Remove the test parameter, and click Run. A bogor-trail file is
generated and the result is output in eclipse console.
Demo (contd.)Demo (contd.) Double click on the trail file, it opens Bogor counter examples view,
bogor-trails editor, and the focus is on Java editor.
Demo (contd.)Demo (contd.)Step through the error trace, the Java code which causes the error is highlighted.