Difference between revisions of "2011 Winter Project Week: Slicer4-ITK4 Continuous Integration"

From NAMIC
Jump to: navigation, search
Line 39: Line 39:
 
*'''''D'''efine''
 
*'''''D'''efine''
 
The goal is to provide a mechanism to identify incompatible Slicer4/ITK4 API changes.
 
The goal is to provide a mechanism to identify incompatible Slicer4/ITK4 API changes.
 +
** [[ITK_Release_4/MigrationGuideDeveloperTutorial|Developer Tutorial]]
 +
** [[ITK_Release_4/What Developers Must Do To Contribute to the Users Migration Guide|What Developers Must Do To Contribute to the Users Migration Guide]]
 +
** http://www.itk.org/Wiki/images/6/67/MigrationGuideFull.pdf
 +
** [http://ij.itk.org/itkfaq/index.php? ITKv4 Migration Guide]
 
*'''''M'''easure''
 
*'''''M'''easure''
 
A [http://www.cdash.org/CDash/index.php?project=Slicer4&date=2010-12-28&filtercount=1&showfilters=1&field1=site/string&compare1=63&value1=BillsBasement baseline dashboard] was created on December 27, 2010. There mere 605 compilation errors.
 
A [http://www.cdash.org/CDash/index.php?project=Slicer4&date=2010-12-28&filtercount=1&showfilters=1&field1=site/string&compare1=63&value1=BillsBasement baseline dashboard] was created on December 27, 2010. There mere 605 compilation errors.
 
*'''''A'''nalyze''
 
*'''''A'''nalyze''
 
A description of each API incompatibility and how to address it will be provided.
 
A description of each API incompatibility and how to address it will be provided.
 +
** [http://ij.itk.org/itkfaq/index.php? ITKv4 Migration Guide]
 
*'''''I'''mprove''
 
*'''''I'''mprove''
 
*'''''C'''ontrol''
 
*'''''C'''ontrol''
Line 53: Line 58:
 
==References==
 
==References==
 
* [[ITK_Release_4.0|The ITKv4 Wiki Page]]
 
* [[ITK_Release_4.0|The ITKv4 Wiki Page]]
* [[ITK_Release_4/MigrationGuideDeveloperTutorial|Developer Tutorial]]
 
* [[ITK_Release_4/What Developers Must Do To Contribute to the Users Migration Guide|What Developers Must Do To Contribute to the Users Migration Guide]]
 
* http://www.itk.org/Wiki/images/6/67/MigrationGuideFull.pdf
 
* [http://ij.itk.org/itkfaq/index.php? ITKv4 Migration Guide]
 
 
</div>
 
</div>
 
-->
 
-->

Revision as of 10:01, 31 December 2010

Home < 2011 Winter Project Week: Slicer4-ITK4 Continuous Integration

Key Investigators

  • Bill Lorensen
  • Hans - Iowa
  • Luis - Kitware

Objective

Identify API changes in ITK4 that cause compilation or run-time errors in Slicer4.

Slicer4 development is underway and ITK version 4 has recently started. One of the goals of ITK 4 is too improve and cleanup the application programming interface (API). Although every attempt is being made to keep the API compatible with ITK 3.x. However, since ITKv4 will be a new major release, there are opportunities to remove antiquated code and repair long standing design defects.

The API changes may be planned or accidental. This project will establish mechanisms to discover, resolve and document API issues.

Approach, Plan

This project will use the DMAIC methodology of the Six Sigma management process to "Define", "Measure", "Analyze", "Improve" and "Control" compiler warnings in Slicer3. This project will concentrate on warnings produced by the GNU gcc 4.3 compiler. Similar approaches can be applied to other Slicer3 compilers.

The basic methodology (from Wikipedia) consists of the following five steps:

  • Define process goals that are consistent with customer demands and the NA-MIC's strategy.
  • Measure key aspects of the current process and collect relevant data.
  • Analyze the data to verify cause-and-effect relationships. Determine what the relationships are, and attempt to ensure that all factors have been considered.
  • Improve or optimize the process.
  • Control to ensure that any deviations from target are corrected before they result in defects. Set up pilot runs to establish software quality, move on to production, set up control mechanisms and continuously monitor the process.

Progress

  • Define

The goal is to provide a mechanism to identify incompatible Slicer4/ITK4 API changes.

A baseline dashboard was created on December 27, 2010. There mere 605 compilation errors.

  • Analyze

A description of each API incompatibility and how to address it will be provided.