On Fri, Oct 24, 2014 at 9:16 AM, Jori Mantysalo <jori.mantys...@uta.fi> wrote: > On Fri, 24 Oct 2014, Jakob Kroeker wrote: > >> Does Sage warn somehow the user if a user calls a function which is >> *known* to be buggy?
*YES, we do*. At a Sage days a few years ago, Robert Bradshaw, David Roe, me and others introduced a "stopgame" framework for exactly this. You can see 52 tickets involving it here: http://trac.sagemath.org/search?q=stopgap If you know of *anything* that should be added, contributions are greatly welcome. I'm extremely appreciative that you (Jakob) are making repeated noise about software quality. Sage is sufficiently mature (at 10 years old now) that the timing is very much right to have a new round of discussion about how to improve quality. We had a similar discussion around 2006 spurred mainly by Craig Citro and Michael Abshoff, which led to numerous substantial improvements in Sage development. Last year we had a dramatic improvement in the technical workflow (based on git branches instead of text-based patches) pushed by Andrew Ohana and Volker Braun. But there is much room for improvement. For example, Sage has a 100% doctest policy, and people can inspect the source code of Sage and see that we follow it. That's something Craig Citro convinced us to do 7 years ago, and it has had I think a genuinely positive impact on our code quality, and ability to have a larger number of developers. Michael Abshoff used to obsessively run valgrind on Sage, which detected and fixed many issues with memory leaks, pointer issues, segfaults, etc. Is there another "lead bullet" that we should add to our arsenal? For me the biggest clear technical value in having access to source code is: - It makes it *much easier to adapt/change* for research purposes, since what you *want* to do is often not exactly what the implementors made available. Source code makes this much easier, since (if nothing else) it no question at all makes it possible to more deeply understanding what you're building on. - Reading source code of math software you're using can help you *decide how much to trust or not trust it*. This is precisely your point -- when you started reading through the code of Singular, you definitely came to conclusion about how much to trust it. Looking at code and deciding -- oh crap, this stuff is a mess -- even if you still use the code in research, is very valuable. Sometimes even bad code is very useful for research purposes, depending on the field of mathematics. An obvious example is "integer factorization". Horrible buggy code is still useful there. -- William > > > Sometimes, but for example > > On Fri, 24 Oct 2014, Jean-Pierre Flori wrote: > >> We're stuck at http://trac.sagemath.org/ticket/17184. >> I've also posted on Singular forum: > > > I know that Singular versions 3.x has a heisenbug, it stucks sometimes when > factoring multivariate polynomials over rationals. There is no warning > message. > > (But of course user do not get wrong answer, if there is no answer at all.) > > -- > Jori Mäntysalo > > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To post to this group, send email to sage-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. -- William Stein Professor of Mathematics University of Washington http://wstein.org -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.