GraBaTs 2009 Case Study
From AtlanMod
This page provides material (test-cases, FAQ) for the Program Comprehension GraBaTs 2009 case study.
Contents |
Test-Cases
Below are the links to the test-cases.
- All files in one archive:
- Details of test-cases files:
- Metamodels:
- Task 2:
- Input model (conforming to JDTAST): task2.xmi
- Sample CFG output model: cfg_task2.xmi
- Sample PDG output model: pdg_task2.xmi
- Task 1 input models ― conforming to JDTAST ― and corresponding sample output models ― conforming to the Q1View metamodel (in KM3, and in Ecore). Packages prefixes such as org.eclipse.jdt.apt is used to denote the set of all classes defined in all packages starting with this prefix. Sample output models are also provided.
Packages | Compressed size and link (zip) | Compressed size and link (bz2) | Uncompressed size and link | Number of Java classes | Number of model elements | Sample output | |
---|---|---|---|---|---|---|---|
Set0 | org.eclipse.jdt.apt.pluggable.core | 609kB | 489kB | 8.8MB | 14 | 70447 | [1] |
Set1 | Set0 + org.eclipse.jdt.apt.ui | 1.8MB | 1.5MB | 27MB | 40 | 198466 | [2] |
Set2 | Set1 + org.eclipse.jdt.core + org.eclipse.jdt.core.compiler + org.eclipse.jdt.apt | 18M | 14MB | 271MB | 1605 | 2082841 | [3] |
Set3 | Set2 + org.eclipse.jdt.core.manipulation + org.eclipse.jdt.launching + org.eclipse.jdt.ui + org.eclipse.jdt.debug + com.sun.jdi + org.eclipse.jdi | 40MB | 31MB | 598MB | 5769 | 4852855 | [4] |
Set4 | all the Java classes in org.eclipse.jdt projects | 43MB | 34MB | 646MB | 5984 | 4961779 | [5] |
Frequently Asked Questions (FAQ)
Which language constructs should be supported by a valid solution?
The example does not contain if,for,... statements, but the idea is to threat the very "common" statements/expressions (e.g. variable affectations, loop statements, conditional statements). Of course, the minimum is the given example. However, if you can threat "while" statements, it will be easier to treat "if" statement (that have a condition but no loop).
How should identifies be specified in the CFG model?
The CFG example provides a prefixed notation: i = 1 is written as: = i 1; x = i is written as = x i. The order of operands is important (leftHandSide then rightHandSide). The CFG metamodel may need to be slightly modified if you prefer another kind of expression notation.
Change log
- 27/04/2009 Correction of output samples for sets 2,3 and 5.
- 28/04/2009 Correction of output sample for set 2.