[Insight-developers] SHAMEFULLY UNCOVERED FILE OF THE WEEK: Insight/Code/Numerics/FEM/dsrc2c.c : Search for a Guru

Luis Ibanez luis.ibanez at kitware.com
Thu Feb 19 14:26:58 EST 2009


Hi Bill,

Thanks for the hint.

I end up adding a second test for the two methods #5 and #6.

They are now solving a trivial linear system.

The process uncovered a bug in the computation of the size
required for the workspace to be passed to the FORTRAN
routines

    rscg_
    rssi_

The fix has been committed and the six test are now passing.

The bad news:
This still leaves about half of the evil dsrc2.c file uncovered.

The good news:
Attacking this file already gave us 1% up on coverage for the
entire toolkit  :-)


There are big chunks of unused code in the dsrc2.c file,
I would suggest to remove the unused functions from it.



     Luis



---------------------
Bill Lorensen wrote:
> Luis,
> 
> This test was running each method before your changes. These are done
> at the end of the original test. I think the reason they are failing
> now, is because with your changes, the methods are invoked before the
> matrix, vector and solution are initialized. If you move the method
> invocation after the initialization code, the test passes. However,
> since all 7 methods were already being run, the coverage does not
> improve.
> 
> I suspect that part of the low coverage is because we only test
> symmetric solutions.
> 
> I am checking in the test with the redundant method tests placed in
> the proper location.
> 
> Bill
> 
> On Tue, Feb 17, 2009 at 11:33 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
> 
>>In order to increase coverage for the dsrc2c.c file,
>>tests were added to the class
>>
>>     itkFEMinearSystemWrapperItpack
>>
>>This class provides several methods to be used for solving
>>the linear system.
>>
>>They are selected with the "m_Method" variable, as:
>>
>> 0: JacobianConjugateGradient()
>> 1: JacobianSemiIterative()
>> 2; SuccessiveOverrelaxation()
>> 3: SymmetricSuccessiveOverrelaxationConjugateGradient()
>> 4: SymmetricSuccessiveOverrelaxationSuccessiveOverrelaxation()
>> 5: ReducedSystemConjugateGradient()
>> 6: ReducedSystemSemiIteration()
>>
>>
>>When re-running the current test with each one of these methods,
>>the following two fail by throwing an exception:
>>
>>    5: ReducedSystemConjugateGradient()
>>    6: ReducedSystemSemiIteration()
>>
>>
>>  Could a LinearSystemSolver-Guru help us here ?
>>
>>
>>Could you tell us if the current test is suitable for these
>>two methods ?
>>
>>and if not,
>>Could you suggest another test that will be suitable ?
>>
>>
>>  Thanks for any hint,
>>
>>
>>     Luis
>>
>>
>>-----------------
>>Luis Ibanez wrote:
>>
>>>The price of the
>>>
>>>
>>>   "SHAMEFULLY UNCOVERED FILE OF THE WEEK"
>>>
>>>
>>>goes to the file:
>>>
>>>
>>>    Insight/Code/Numerics/FEM/dsrc2c.c
>>>
>>>http://www.cdash.org/CDash/viewCoverageFile.php?buildid=273257&fileid=4777
>>>
>>>    with
>>>
>>>          2,283 lines uncovered,
>>>
>>>
>>>    for a total of
>>>
>>>
>>>           79% uncovered lines.
>>>
>>>
>>>This file will be subject to special treatment
>>>in the following days.
>>>
>>>
>>>
>>>   Luis
>>>
>>>
>>>
>>
>>_______________________________________________
>>Powered by www.kitware.com
>>
>>Visit other Kitware open-source projects at
>>http://www.kitware.com/opensource/opensource.html
>>
>>Please keep messages on-topic and check the ITK FAQ at:
>>http://www.itk.org/Wiki/ITK_FAQ
>>
>>Follow this link to subscribe/unsubscribe:
>>http://www.itk.org/mailman/listinfo/insight-developers
>>
> 
> 


More information about the Insight-developers mailing list