Development Milestones » History » Revision 2
Revision 1 (Alexander Kamkin, 04/02/2014 07:41 AM) → Revision 2/9 (Alexander Kamkin, 04/02/2014 09:00 AM)
h1. Development Milestones h2. Version 2 (deadline: 31/08/2014) 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. h3. Version 2.0 (deadline: 30/04/2014) * _Test Situations_ ** Manual description of test situations in Java and XML should be supported ** Test situations should be accessible from test templates (corresponding solvers should be invoked, and generated data should be substituted into the test program) ** Each instruction should have a top-level test situation (by default, the top-level situation is @Random@) ** There should be a configuration file assigning top-level test situations to instructions (@Random@, @Zero@, etc.) * _Initialization Code_ ** Manual specification of initialization code (for each access mode) should be supported ** Automated extraction of initialization code (for each access mode) should be implemented * _Exceptions_ ** Mechanism for specifying exceptions should be clarified (probably, a predefined function, like @RaiseException@, should be introduced) ** Means for describing exception handling logic should be added * _Branch Instructions_ ** Facilities for defining/using labels in test templates should be revisited ** Combinatorial test program generation based on test templates with branch instructions should be implemented * _Documentation_ ** All new facilities should be documented h3. Version 2.1 (deadline: 31/05/2014) * # полная поддержка языка nML ** ## поддержка алиасов регистров ** ## поддержка вызовов операций из операций * # поддержка тестовых ситуаций ## возможность "ручного" описания тестовых ситуаций ## возможность указания тестовых ситуаций в шаблонах # поддержка исключений # поддержка ветвлений в шаблонах # поддержка вызовов шаблонов из других шаблонов * поддержка самопроверяющих тестовых программ * поддержка архитектур с широким командным словом (VLIW) h3. h2. Version 2.2 (deadline: 30/06/2014) 2.1 # поддержка композиции тестовых ситуаций ## дизъюнктивная композиция (случайный выбор на основе весов) ## конъюнктивная композиция (с возможностью указания "жестких" и "мягких" ограничений) # поддержка декомпозиции тестовых ситуаций (представление тестовой ситуации в форме дизъюнктивной композиции уточняющих ситуаций - импликантов) ## например, путем построения BDD: @rule(situation)@ ## или с помощью других методов генерации тестов для реализаций логических функций ## набор правил декомпозиции должен быть расширяемым # поддержка извлечения тестовых ситуаций из кода ## тестовая ситуация верхнего уровня (для отдельной инструкции) строится как дизъюнктивная композиция извлеченных ситуаций ## если в шаблоне для некоторой инструкции не указана тестовая ситуация, по умолчанию используется ситуация верхнего уровня # поддержка итерации тестовых ситуаций ## систематический перебор тестовых ситуаций: @iterate(situation)@ или @iterate(rule(situation))@ h3. Version 2.3 (deadline: 31/07/2014) # вынесение функций работы с тестовым знанием в проект TestBase # создание среды разработки MicroTESK (модуль для Eclipse) # разработка формата трассы выполнения тестовой программы Promotion. miniMIPS opencores h2. Version 3 h3. Version 3.0 # поддержка микроархитектурных спецификаций ## спецификация устройства управления памятью ## спецификация конвейера микропроцессора # рефакторинг внутреннего представления ## унификация с проектом Retrascope h3. Version 3.1 # поддержка многоядерных микропроцессоров h3. Version 3.2 # интеграция с Promela-спецификациями протоколов когерентности