Bug#953116: [petsc-maint] 32 bit vs 64 bit PETSc

Jed Brown jed at jedbrown.org
Tue May 26 05:58:57 BST 2020


Drew Parsons <dparsons at debian.org> writes:

> On 2020-05-23 14:49, Drew Parsons wrote:
>> On 2020-05-23 14:18, Jed Brown wrote:
>> 
>>> I wonder if you are aware of any static analysis tools that can
>>> flag implicit conversions of this sort:
>>> 
>>> int64_t n = ...;
>>> for (int32_t i=0; i<n; i++) {
>>>   ...
>>> }
>>> 
>>> There is -fsanitize=signed-integer-overflow (which generates a runtime
>>> error message), but that requires data to cause overflow at every
>>> possible location.
>> 
>> I'll ask the Debian gcc team and the Science team if they have ideas 
>> about this.
>> 
>
>
> Hi Jed, Thomas Schiex from Debian Science has replied to this question, 
> suggesting clang-static-analyzer or lgtm:
>
>    For open source projects, a few online static analyzers are available 
> and usable for free. This kind of integer type mismach will be caught by 
> most of them. Possibly clang-static-analyzer will do the job. 

I had tried this first, but I think it requires significant work to implement.

> Otherwise, an easy one is lgtm for example. See https://lgtm.com/

This looks interesting, but it isn't obvious how to implement this sort
of check in their language.  They have a bunch of examples, but they
seem simpler.



More information about the debian-science-maintainers mailing list