Our regular stand-up scrum meetings are a great way to have regular interaction with other team members, as well as our supervisor.
FUDA TSE Supporting Material
This page provides supporting material for the paper Two Studies of Framework-Usage Templates Extracted from Dynamic Traces submitted to IEEE Transactions on Software Engineering in 2010.
Tools
The FUDA technique is prototyped as an integrated tool for Java consisting of two parts:
Template Quality Evaluation
- The following tables present the templates generated using the FUDA framework comprehension technique for 14 different concepts on top of 5 widely used frameworks when one, two, or three sample applications are used.
- Each sub-section contains a table for one of the frameworks. The table contains sections for each concept, which is specified by a defining question.
- In each template, the lines in BLACK illustrate mandatory implementation steps (i.e., reference template), the lines in BLUE indicate optional implementation steps, and the lines in RED show errors.
- For those templates that include false negatives, a description of false negatives is provided at the end of the template.
JFace | ||||
# SampleApplications | SampleApplication | Source | Template(No Slicing) | Template(With Slicing) |
---|---|---|---|---|
Context Menu: How to implement a context menu in a view? | ||||
1 | Console | Eclipse UI | Template1 | Template1 |
2 | Tree View | Eclipse Wizards | Template2 | Template2 |
3 | ANT View | Eclipse UI | Template3 | Template3 |
Toolbar Button: How to add a button to a view's toolbar? | ||||
1 | Package Explorer | Eclipse JDT | Template1 | Template1 |
2 | Crosscutting Comparison | AJDT | Template2 | Template2 |
3 | Debug View | Eclipse UI | Template3 | Template3 |
Content Assist: How to develop a content assistant in a text editor? | ||||
1 | JSP Editor | Eclipse WTP | Template1 | Template1 |
2 | Java Editor | Eclipse JDT | Template2 | Template2 |
3 | HTML Editor | Eclipse WTP | Template3 | Template3 |
Eclipse | ||||
# SampleApplications | SampleApplication | Source | Template(No Slicing) | Template(With Slicing) |
---|---|---|---|---|
Table Viewer: How to develop a table viewer? | ||||
1 | LDAP Connections | eclipse-plugins | Template1 | - |
2 | Table View | Eclipse Wizards | Template2 | - |
3 | Editor List | eclipse-plugins | Template3 | - |
Tree Viewer: How to develop a tree viewer? | ||||
1 | LDAP Browser | eclipse-plugins | Template1 | - |
2 | Tree View | Eclipse Wizards | Template2 | - |
3 | Concern Mapper | Google Search | Template3 | - |
Navigate: How to create the tree navigation buttons in a view's toolbar? | ||||
1 | SVN Repository | Subclipse | Template1 | Template1 |
2 | KTree Map | SourceForge | Template2 | Template2 |
3 | AST View | Eclipse JDT | Template3 | Template3 |
Focus: What events happen by clicking on a view's titlebar? | ||||
1 | LDAP Browser | eclipse-plugins | Template1 | - |
2 | Editor List | eclipse-plugins | Template2 | - |
3 | Table View | Eclipse Wizards | Template3 | - |
GEF | ||||
# SampleApplications | SampleApplication | Source | Template(No Slicing) | Template(With Slicing) |
---|---|---|---|---|
Select: What events happen by clicking on a figure? | ||||
1 | Flow | GEF Examples | Template1 | - |
2 | Shapes | GEF Examples | Template2 | - |
3 | Logic | GEF Examples | Template3 | - |
Figure: How to draw a figure in a GEF editor? | ||||
1 | Flow | GEF Examples | Template1 | Template1 |
2 | Shapes | GEF Examples | Template2 | Template2 |
3 | Logic | GEF Examples | Template3 | Template3 |
Connection: How to draw a connection between two figures? | ||||
1 | Flow | GEF Examples | Template1 | Template1 |
2 | Shapes | GEF Examples | Template2 | Template2 |
3 | Logic | GEF Examples | Template3 | Template3 |
Java 2D | ||||
# SampleApplications | SampleApplication | Source | Template(No Slicing) | Template(With Slicing) |
---|---|---|---|---|
Moving Shapes: How to draw shapes and let the user drag them? | ||||
1 | JHotDraw | SourceForge | Template1 | Template1 |
2 | GeoSoft | Google Search | Template2 | Template2 |
3 | GTEditor | Google Code | Template3 | Template3 |
Circle Drawing: How to draw a red circle on a black background? | ||||
1 | TerpPaint | SourceForge | Template1 | Template1 |
2 | Scribble | Google Search | Template2 | Template2 |
3 | JHotDraw | SourceForge | Template3 | Template3 |
Java Swing | ||||
# SampleApplications | SampleApplication | Source | Template(No Slicing) | Template(With Slicing) |
---|---|---|---|---|
Drag-n-Drop: How to drag-n-drop an item in a tree? | ||||
1 | Java2s DnD | Google Search | Template1 | Template1 |
2 | Swing Demo | Google Search | Template2 | Template2 |
3 | TV Browser | SourceForge | Template3 | Template3 |
Text Editor: How to develop a simple text editor? | ||||
1 | Edas Texter | SourceForge | Template1 | - |
2 | nText | SourceForge | Template2 | - |
3 | DrJava | SourceForge | Template3 | - |
Template Usage Evaluation
This section contains the material prepared and collected during the empirical evaluation of Template Usage. We first list the documents we prepared and the subsequent sections list the resulting questionnaires and present the collected data.
Overview and Background Documents
Tutorials
- Tutorial for Object-Oriented Software Frameworks
- Tutorial for Eclipse
- Tutorial for the Syntax and Semantics of FUDA Templates
Implementation Task Material (additional web pages)
- Use Template to implement Context Menu
- Use Documentation to implement Context Menu
- Use Template to implement Content Assist
- Use Documentation to implement Content Assist
- Use Template to implement Navigate
- Use Documentation to implement Navigate
- Use Template to implement Table Viewer
- Use Documentation to implement Table Viewer
Subjects Background Questionnaires
This table presents the background questionnaires filled by subjects. Subjects are categorized into the experienced and moderate subjects based on their experience with the Eclipse and JFace frameworks.
Subjects Experiment Reports
This table presents the reports sent by subjects immediately after performing concept-implementation tasks.