comp.lang.ada
 help / color / mirror / Atom feed
From: "Markus Schöpflin" <no.spam@spam.spam>
Subject: Re: [Ann] AdaControl 1.18r8 released
Date: Mon, 7 Nov 2016 10:03:21 +0100
Date: 2016-11-07T10:03:21+01:00	[thread overview]
Message-ID: <nvpg0p$kjg$1@gioia.aioe.org> (raw)
In-Reply-To: 0ff97519-ae71-4c27-8654-b6eab0ca4f96@googlegroups.com

Am 05.11.2016 um 11:28 schrieb artium@nihamkin.com:

[...]

> I would like to raise an issue with static analysis tools, style checkers
> and similar tools that is particularly valid for tools aiming at Ada
> projects.
>
> Sometimes a developer decides to try these tools on an already existing
> codebase. This will lead to thouthands of violations.
>
> Fixing them is not acceptable in a field tested code.
>
> The developer would like to know only about the violations in the newly
> added code.

For a similar issue (huge legacy code base with thousands of compiler 
warnings) we have simply created a script which checks the output of the build 
against a known reference build, and then complains if the new build contains 
warnings not found in the reference build.

The script basically uses the following algorithm:

- For both logs, extract all warnings and remove all line number
   references. This results in two temporary files.

- Sort each temporary file and diff the resulting two files.

- Output all warnings found in the second file but not in the first.

 From time to time (mostly before a new release) we allocate a few days to 
systematically fix all warnings in a given component, and create tickets for 
warnings which turn out to be real issues.

After each release the reference build log is then updated.

Over the course of about five years, this has helped us to bring the warning 
count down from about 4000 to about 300, and to get the most critical 
components free of warnings.

Markus

  parent reply	other threads:[~2016-11-07  9:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-03 15:36 [Ann] AdaControl 1.18r8 released J-P. Rosen
2016-11-05 10:28 ` artium
2016-11-05 12:44   ` J-P. Rosen
2016-11-07  8:02   ` Jacob Sparre Andersen
2016-11-07  9:03   ` Markus Schöpflin [this message]
2016-11-08 15:56 ` jrmarino
2016-11-08 16:55   ` J-P. Rosen
2016-11-08 19:11     ` jrmarino
2016-11-10 11:40       ` [Ann] AdaControl 1.18r9 released J-P. Rosen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox