Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.

41
Bogor-Java Environment Bogor-Java Environment for Eclipse for Eclipse MSE Presentation II Yong Peng

Transcript of Bogor-Java Environment for Eclipse MSE Presentation II Yong Peng.

Bogor-Java Environment for Bogor-Java Environment for EclipseEclipse

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 PlanProject Plan

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

Component Diagram: Incremental plug-in

Architecture Design(contd.)Architecture Design(contd.)

Component Diagram: launcher plug-in

Architecture Design(contd.)Architecture Design(contd.)

Component Diagram: view plug-in

Architecture Design(contd.)Architecture Design(contd.)Incremental plug-in class diagram

Architecture Design(contd.)Architecture Design(contd.)Launcher plug-in class diagram

Architecture Design(contd.)Architecture Design(contd.)View plug-in class diagram

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.

Formal Specification(contd.)Formal Specification(contd.)

Formal Specification(contd.)Formal Specification(contd.)

Formal Specification(contd.)Formal Specification(contd.)

Formal Specification(contd.)Formal Specification(contd.)

Formal Specification(contd.)Formal Specification(contd.)

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

DemoDemo

Create a demo java project and Deadlock.java

Demo (contd.)Demo (contd.)Add Bytecode to BIR Builder

Demo (contd.)Demo (contd.)

BIR files are generated.

Demo (contd.)Demo (contd.)Open Bogor VM BIR View

Demo (contd.)Demo (contd.)BIR displays in the view and Java code highlighted if click in BIR view.

Demo (contd.)Demo (contd.)BIR is highlighted if click on Java code in Java editor.

Demo (contd.)Demo (contd.)Open launcher, create a new Bogor VM configuration.

Demo (contd.)Demo (contd.)

Default Bogor config will be load from a properties file

Demo (contd.)Demo (contd.)Add a test parameters to config.

Demo (contd.)Demo (contd.)The new added parameter shows in the Bogor Config tab.

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.

Questions & CommentsQuestions & Comments