Project

General

Profile

Development Milestones » History » Version 9

Alexander Kamkin, 04/03/2014 08:37 AM

1 1 Alexander Kamkin
h1. Development Milestones
2
3 2 Alexander Kamkin
h2. Version 2 (deadline: 31/08/2014)
4 1 Alexander Kamkin
5 2 Alexander Kamkin
MicroTESK v2 should fully support instruction set specifications and random/combinatorial template-based test program generation. This is the minimal functionality that makes the MicroTESK tool useful.
6 1 Alexander Kamkin
7 8 Alexander Kamkin
| *Version 2.0* | *30/04/2014* | *Features:* nML-based instruction set specification, test situations, exceptions, initialization code, branching instructions |
8 3 Alexander Kamkin
9 2 Alexander Kamkin
* _Test Situations_
10
** Manual description of test situations in Java and XML should be supported
11
** Test situations should be accessible from test templates (corresponding solvers should be invoked, and generated data should be substituted into the test program)
12
** Each instruction should have a top-level test situation (by default, the top-level situation is @Random@)
13
** There should be a configuration file assigning top-level test situations to instructions (@Random@, @Zero@, etc.)
14
* _Initialization Code_
15
** Manual specification of initialization code (for each access mode) should be supported
16
** Automated extraction of initialization code (for each access mode) should be implemented
17
* _Exceptions_
18
** Mechanism for specifying exceptions should be clarified (probably, a predefined function, like @RaiseException@, should be introduced)
19
** Means for describing exception handling logic should be added
20
* _Branch Instructions_
21
** Facilities for defining/using labels in test templates should be revisited
22
** Combinatorial test program generation based on test templates with branch instructions should be implemented
23 4 Alexander Kamkin
* _Examples_
24
** A test template with branch instructions (combinatorial generation)
25 1 Alexander Kamkin
* _Documentation_
26 2 Alexander Kamkin
** All new facilities should be documented
27
28 9 Alexander Kamkin
| *Version 2.1* | *31/05/2014* | *Features:* VLIW specification and testing, floating-point arithmetic, register aliases, self-checking test program generation |
29 3 Alexander Kamkin
30 1 Alexander Kamkin
* _Specification_
31 9 Alexander Kamkin
** Means for specifying VLIW architectures (e.g., Elbrus) should be added
32
** Floating-point arithmetic should be supported
33 3 Alexander Kamkin
** Auxiliary nML constructs, like @alias@, should be enabled
34
** Mechanisms for calling operations in operations should be implemented
35
* _Testing_
36
** Mechanisms for calling test templates in test templates should be implemented
37
** Generation of self-checking test programs should be supported
38 1 Alexander Kamkin
** Means for writting test templates for VLIW architectures should be added
39
* _Examples_
40 4 Alexander Kamkin
** A fragment of the Elbrus architecture should specified
41 3 Alexander Kamkin
** Some test templates for the Elbrus architecture should be written
42
* _Documentation_
43
** All new facilities should be documented
44 1 Alexander Kamkin
45 8 Alexander Kamkin
| *Version 2.2* | *30/06/2014* | *Features:* test situation composition/decomposition/iteration, test coverage extraction, constrained-random test data generation |
46 1 Alexander Kamkin
47 4 Alexander Kamkin
* _Test Situation Composition_
48
** Disjunctive composition of test situations should be supported (random choice of a test situation based on biases)
49
** Conjunctive composition of test situations should be supported (there should possibility to specify hard and soft constraints)
50
* _Test Situation Decomposition_
51
** Means for splitting test situations into disjunctions of implicants should be implemented (BDD-based and other test generation algorithms can be applied): @rule(situation)@
52
** The set of decomposition rules should be extensible
53
* _Test Situation Iteration_
54
** Means for iterating test situations should be implemented: @iterate(disjuntive_situation)@, @iterator(rule(situation))@ or @iterate(situation1, situation2, ...)@
55
* _Test Coverage Extraction_
56 1 Alexander Kamkin
** For each instruction and for each path in its CFG, the corresponding test situation should be constructed
57 4 Alexander Kamkin
** For each instruction, the top-level test situation should be constructed as the disjunctive composition of the extracted test situations
58
* _Examples_
59
** A test situation composition example should be added
60
** A test situation decomposition example should be added
61
** A test situation iteration example should be added
62
* _Documentation_
63
** All new facilities should be documented
64 1 Alexander Kamkin
65 8 Alexander Kamkin
| *Version 2.3* | *31/08/2014* | *Features:* integration with TestBase, Eclipse-based development environment, test program tracing |
66 1 Alexander Kamkin
67 4 Alexander Kamkin
* _TestBase Project_
68
** Functions for structuring/composing/decomposing/... test situations should be separated into the TestBase project
69
** Additional test generation facilities should be implemented
70 1 Alexander Kamkin
* _MicroTESK IDE_
71 4 Alexander Kamkin
** An Eclipse plugin should be implemented (including an nML editor, instructions/situations viewers, test template wizards, compiler/generator launchers, etc.)
72
* _Tracing_
73
** A trace format should be developed
74 1 Alexander Kamkin
** Trace utilities should be implemented and integrated into the test program generator
75 4 Alexander Kamkin
* _Documentation_
76
** All new facilities should be documented
77
* _Promotion_
78 1 Alexander Kamkin
** The miniMIPS microprocessor should be specified
79 4 Alexander Kamkin
** Test templates for the miniMIPS microprocessor should be written
80
** The test program generator should be added into the miniMIPS project at OpenCores
81
82 5 Alexander Kamkin
h2. Version 3 (Deadline: 31/08/2015)
83 2 Alexander Kamkin
84 4 Alexander Kamkin
MicroTESK v3 should support microarchitectural specifications and automated test template generation. The tool should be extended to complex multicore microprocessors with cache coherence support.
85 2 Alexander Kamkin
86 8 Alexander Kamkin
| *Version 3.0* | *31/12/2014* | *Features:* memory management, caching, address translation |
87 4 Alexander Kamkin
88
* _Microarchitectural Specifications_
89
** Specification of memory management units should supported
90 2 Alexander Kamkin
91 8 Alexander Kamkin
| *Version 3.1* | *31/05/2015* | *Features:* pipelining, microarchitectural networks |
92 4 Alexander Kamkin
93
* _Internal Representation_
94 2 Alexander Kamkin
** Internal representation should be unified with the Retrascope''s one
95
96 8 Alexander Kamkin
| *Version 3.2* | *31/08/2015* | *Features:* multicore microprocessors, Promela, cache coherence |
97 4 Alexander Kamkin
98
* _Multicore Microprocessors_
99
** Integration with Promela specifications should be implemented
100
101
_To be continued..._