...
Use Case 6: Find occurences of nested try/catch blocks that rethrow an exception.
Evaluation
Wiki Markup |
---|
*\[This section is work in progress\]* |
X = not supported
✓ = supported
...
No variable binding support which restricts a lot of the analysis.
Taxonomy
Wiki Markup |
---|
*\[This section is work in progress\]* |
Query Language Features
- Model: Relational vs Tree
- variable binding (unification) & back-reference
- set operators
- support for dataflow (Read/write references...)
- aggregates (grouping results)
- List pattern matching (i.e JTL style for argument list)
- behavioural pattern matching (SOUL like, Jackpot)
- quantifiers (forall, exists, no)
- querying style: logic, query-by-example, path, sql
...
- control flow statements
- type information of AST nodes
- type constraints (subtype relations)
- generics / wildcards
- anonymous class
Conclusion/Ideas
Wiki Markup |
---|
*\[This section is work in progress\]* |
Relational based query languages not low level enough.
...
Week | Date | Tasks | Milestones |
---|
1 | 9 July - 13 July
| - Source Code Query Languages Research
- Write up of Review on wiki
| |
2 | 16 July - 20 July
| - Source Code Query Languages Evaluation & Taxonomy
- Write up of Results on wiki
| |
3 | 23 July - 27 July
| - Tools research
- Comparison of static analysis API (pmd, tree, eclipse)
- Working on Eclipse Plugin to query JCT use cases
| Milestone 1
- Comparative Study of Source Code Query Languages
|
4 | 30 July - 3 August
| - Developed Eclipse plugin
- Investigating Diagnostic ListenerCreate new AST visitor to enrich AST nodes with type & relation information
| |
5 | 6 August - 10 August
| - Create new AST visitor to enrich AST nodes with type & relation informations
- List AST relations that needs to be retrieved
| |
6 | 13 August - 17 August
| - Working at Santa Clara office
| | Milestone 1.5 Complete new AST visitor on steroids. |
7 | 20 August - 24 August | | |
8 | 27 August - 31 August | - Indexer (modified javac + diagnostic listener parser)
| Milestone 2
- Database representation of Java Source Code
|
9 | 3 September - 7 September | - Develop prototype to query JCT use cases using our API. (backend or SQL)
| |
10 | 10 September - 14 September | | |
11 | 17 September - 21 September | | Milestone 3
Front end - Language to query database representation of the source code
|
12 | 24 September - 28 September | - Preparing presentation for JavaONE
| |
13 | 1 October - 5 October | | |
14 | 8 October - 12 October | | |
...