Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Week

Date

Log

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 Listener

 

5

6 August - 10 August

  • Come up with syntax queries expressing our use cases
  • Enhancing diagnostic created by java Compiler

 

6

13 August - 17 August

  • Research relations between Java elements that we are interested to store in database
  • Enhancing diagnostic created by java Compiler

 

7

20 August - 24 August

  • Enhancing diagnostic created by java Compiler

 

8

27 August - 31 August

  • Package the indexer of java source code files

Milestone 2 

  • Database representation of Java Source Code

9

3 September - 7 September

  • Develop prototype to query JCT use cases using queries to the database

 

10

10 September - 14 September

  • Design prototype language to act as a front end to the SQL backend queries

 

11

17 September - 21 September

  •  Implement prototype language

Milestone 3 

  • Design Language to query database representation of the source code

12

24 September - 28 September

  • Preparing presentation for JavaONE

 

13

1 October - 5 October

  • Raoul at JavaONE

 

14

8 October - 12 October

  • Stockholm presentation

 

Demo Plan

Aim:
- Give a live demonstration of the query languages for two use cases: Covariant Arrays assignments & Overloaded Methods sharing single type
We need to build minimum vertical to make this possible. This consists of the following milestones:
1) Create a database representation of a Java program, which stores information attributed AST nodes of assignments and method declarations.
2) Design a query language to express these types of queries
3) Create the backend, which compiles the query language to Database Queries 
4) Output results

Aim

Give a live demonstration of the query language for two use cases: Covariant Arrays assignments & Overloaded Methods sharing single type

Deadline

7th September

Plan

Build the minimum vertical implementation to make this possible. This consists of the following milestones:

1) Create a database representation of a Java program, which stores information attributed AST nodes of assignments and method declarations. (deadline: 17/7)

2) Develop backend functions that will query the database. (deadline: 23/7)

3) Design query language, different types of queries it will support (deadline: 29/8)

4) Build minimum grammar & parser & compiler to query the two use cases (deadline: 6/9)

5) Output results frontend (deadline: 7/9)

Extra Plan

Extra time will be used to expand the infrastructure horizontally

- Support more AST nodes and relations

- Support more types of queries

- Extend backend

- Test coverage

- Web interface for Demo

Relevant Literature

Wiki Markup
\[1\] Brian Goetz. Language designer's notebook: Quantitative language design. [http://www.ibm.com/developerworks/java/library/j-ldn1/|http://www.ibm.com/developerworks/java/library/j-ldn1/].

...