Mika by MIDOAN
Version 1.2
Release Notes

1 WELCOME.
Mika is an automatic test data generation tool for code written in a large subset of Ada 83, Ada 95 or Ada 2005. Mika uses genetic algorithms to generate inter-subprograms tests that will, by construction, exercise, during execution, the maximum possible number of branches, or decisions, in the code under test. 

2 WHAT IS NEW IN THIS RELEASE.
Version 1.2	(29 June 2010)
•	Mika now allows MC/DC test data generation from Ada source code.
Version 1.1.3	(12 February 2010)
•	Mika now support  array concatenation and modular integers.
Version 1.1.2	(14 September 2009)
•	GNAT project files supported, tool available via command line.
Version 1.1.1	(29 May 2009)
•	Minor update following GNAT 2009 release.
Version 1.1	(25 May 2009)
•	Tool chain independence has been achieved;
•	Subset is now based on Ada 2005.
Version 1.0	(23 March 2009)
•	First post-beta release.
Version 0.9 	(10 February 2009) 
•	This is the first public release of Mika.

3 KNOWN ISSUES.
The limitations of Mika, including the Ada subset covered, are detailed in the separate user manual.

4 RELEASES HISTORY.
Version 1.2	(29 June 2010)
•	Improvements include:
o	Tests to achieve MC/DC coverage of the code under test can now be generated automatically;
o	The user can now specify the level of deepness of coverage desired;
o	The handling of input dependent types, slices, loops etc is more clever : it is much less likely to lead to un-tractable tests data generation;
o	The test data generation process has been improved for floating point entities.
•	Subset enlargements include:
o	Input dependent types are accurately handled;
o	Dynamic record default field expressions are accurately handled;
o	Input dependent loop ranges are accurately handled; 
o	Conditional expressions are fully supported;
o	Large integers handling has been improved;
o	The valid attribute is supported.
•	Bug fixes include: 
o	Tests generation for rem and mod expressions is more powerful;
o	Subprograms calls that returns unhandled expressions were not handled properly; 
o	View conversions with complex expressions were not handled properly;
o	View conversions with long prefixes were not handled properly.

Version 1.1.3	(12 February 2010)
•	Improvements include:
o	None.
•	Subset enlargements include:
o	Array concatenation operator is fully handled;
o	Modular Integer type is fully handled;
o	Enumeration type conversions are fully handled;
o	Null ranges are properly handled;
o	Limited support for Wide_Characters has been added;
o	Exit statement with loop names are fully handled;
o	Better resilience to unhandled expressions overflow;
o	Basic support for incomplete type declarations.
•	Bug fixes include: 
o	Representation clauses for derived types was destructing some other attributes;
o	Derived enumeration types were not properly handled;
o	Array element assignments with an input dependent index, were not always sound;
o	Imported procedures were not simulated properly;
o	Better respect of GNAT’s generated elaboration order;
o	Max attributes for integers was misbehaving;
o	Integer division was sometimes overflowing unnecessarily;  
o	Standard duration type does not overflow any longer;
o	Single subtype mark in case statement alternatives were not allowed;
o	‘in’ and ‘not in’ membership tests support has been generalised;
o	Reverse order ‘for’ loops were not handled properly;
o	Unconstrained array instantiation of subtypes was misbehaving;
o	Deeply nested selected components were not always handled properly.
Version 1.1.2	(14 September 2009)
•	Improvements include: 
o	Support for GNAT project files;
o	The tools (the back end) can be used separately from the GUI (the front end) via the command line;
o	Operator subprogram testing has been made available.
•	Subset enlargements include:
o	Goto statements are fully handled;
o	Blocks statements are fully handled;
o	Unhandled expressions no longer cause systematic failure.
•	Bug fixes include: 
o	Subunits needed during the elaboration of their own package of definition were not  handled properly;
o	New Ada 2005 reserved keywords are now handled properly;
o	Functions with locally declared subprograms were not handled properly.
Version 1.1.1	(30 May 2009)
•	Improvements include: 
o	Test data generation is possible for subprogram body only units.
•	Subset enlargements include:
o	Conditional expressions are ignored rather than causing a failure.
•	Bug fixes include: 
o	None.
Version 1.1	(25 May 2009)
•	Improvements include: 
o	Mika is tool chain independent: any GNAT compiler can be used;
o	Tests are generated even in the absence of test points;
o	Error messages are more informative;
o	GNAT’s specific attributes are now compiler dependent and generated on the fly;
o	Tests generation for exponent expressions with integer argument is more powerful;
o	A direct uninstall is available.
•	Subset enlargements include:
o	Mika is now based on Ada 2005;
o	Additional GNAT’s specific attributes are appropriately handled (including storage_unit and word_size);
o	Additional constructs are ignored rather than causing a failure (including Exception handlers);
o	 The Address predefined attribute returns a dummy value rather than fail; 
o	Qualified array expressions are now appropriately handled rather than causing a failure (array aggregates were already handled).
•	Bug fixes include: 
o	Use of derived array and derived record types objects was sometimes causing errors;  
o	Zero exponent expression with integer argument did not always return 1;
o	 Qualified expressions were sometimes causing errors for integer, floats and enumeration types.
Version 1.0	(23 March 2009)
•	Entirely new front end based on feedback;
•	Support for GNAT 3.4.2.
Version 0.9	(10 February 2009)
•	This is the first public release of Mika.

5 FEEDBACK.
Whether you are entitled to user support under Midoan’s maintenance terms or not, Midoan welcomes, and encourages, suggestions for improving Mika.  These may include:
•	enlarging OS and/or GNAT version integration;
•	adding Ada features not supported in the current Ada subset;
•	adding finer user control of test data generation process;
•	generating tests for other coverage metrics (e.g. condition, MCDC);
•	adding new test output formats for better integration with third party tools;
•	etc.
This is your opportunity to guide the future development of Mika to suit your particular needs.

6 BUG REPORT.
Whether you are entitled to user support under Midoan’s maintenance terms or not, Midoan welcomes, and encourages, the reporting of bugs. Make sure to give as many details as possible including: Mika version, platform, GNAT version and distribution, description of the problem, full error messages issued.

Your problem will be addressed as soon as possible. 

7 FURTHER INFORMATION.
•	ReadMe file: describes the minimal information necessary prior to the installation of Mika;
•	License file: details the license agreement that must be accepted by the user prior to the installation of Mika;
•	ReleaseNotes file: highlights the updates made since the previous release version of Mika;
•	UserManual file:  describes the usages and limitations of Mika.

8 CONTACT.
Midoan Software Engineering Solutions Ltd.
http://www.midoan.com/