jpat <[EMAIL PROTECTED]> writes:
> Yes, I must say I was quite surprised to find an error of this
> obviousness in a package as mature as Ptolemy. Given the
> catestrophic effects on the operation of any fixed-point simulation,
> it is also surprising that that no one had complained up until now.

Yep, it bites when there are bugs like 2+2=5.  We have a pretty good
regression test system, but it does require that developers write
tests.  I've found that in an academic setting, if unit tests are not
written during development, then they usually do not get written at
all.  Part of writing tests is looking over code coverage, which we
also do. 

I think a big part of the problem is that writing good tests for basic
building blocks like math packages is rather dry, and it is hard to
get excited about doing. However, the building blocks are fairly
critical to the operation of Ptolemy.  

Testing a math package by using it in a model does not really cut it,
the corner cases really need to be explicitly tested.

> It looks like there are other problems with the fixpoint package, 
> however.  I bit of quick poking seems to suggest that
> truncate(fixpoint) and round(fixpoint) both truncate the value.  There are 
> probably other bugs as well.
> Particularly disturbing is that there were tests for the truncate method 
> that were obviously wrong (and not even returning one of the closest 
> fixed-point values...)

Of course, all the tests in the world make little difference if
they are testing the wrong results

> There are quite a few test suites for IEEE754/854...  perhaps we could grab 
> one and leverage it?  I don't know if it would  have caught this error or 
> not, but...  Unfortunately, the FixPoint code is a bit orphaned at the 
> moment...

If someone wants to take this task on, then that would be helpful.
The test suite is documented in
  $PTII/doc/coding/testing.htm 
which can be found on line at
  http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/ptII1.0/doc/coding/testing.htm 

Basically, someone would need to go through
  ptolemy/math/test/FixPoint.tcl
and update the tests.  The tests are written using tcl, but they
are fairly easy to understand.

The Ptolemy group software practices are documented in a paper:

J. Reekie, S. Neuendorffer, C. Hylands and E. A. Lee  "Software
Practice in the Ptolemy Project," Technical Report Series,
GSRC-TR-1999-01, Gigascale Semiconductor Research Center, University
of California, Berkeley, CA 94720, April 1999.

which can be found at
http://www.gigascale.org/pubs/1.html

-Christopher

Christopher Hylands    [EMAIL PROTECTED]  University of California
Ptolemy/Gigascale Silicon Research Center     US Mail: 558 Cory Hall #1770
ph: (510)643-9841 fax:(510)642-2739           Berkeley, CA 94720-1770
home: (510)526-4010                           (Office: 400A Cory)



----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list.  Please send administrative
mail for this list to: [EMAIL PROTECTED]

Reply via email to