All of lore.kernel.org
 help / color / mirror / Atom feed
* [ANNOUNCE] undertaker 1.0
@ 2011-01-27 11:56 Reinhard Tartler
  2011-01-28 20:41 ` Thomas Gleixner
  0 siblings, 1 reply; 4+ messages in thread
From: Reinhard Tartler @ 2011-01-27 11:56 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: vamos, Julia Lawall


The VAMOS team is pleased to announce the first release of undertaker 1.0.
The undertaker tool is a result of the VAMOS[1] research project.
Please visit our project site at:

http://vamos.informatik.uni-erlangen.de/trac/undertaker

What is undertaker?
-------------------

The undertaker is a tool for static code analysis for code with C
preprocessor directives, which can be used in various modes. The most
prominent one checks every single preprocessor block within the file
whether it can be selected or deselected, which in many cases is a great
asset for code maintenance.

Some preprocessor blocks are only seemingly conditional. In many cases,
it turns out that additional constraints from the project's configuration
model causes such conditional blocks to be in fact unconditionally selected
or unselected. We call such block "dead" and "undead" conditional blocks.

Undertaker provides tools to extract the configuration model from
the Linux configuration tooling Kconfig and to perform this check on whole
source trees.

We have already performed a check on the v2.6.38-rc1 tree and provide
easy access to the results via an online interface[2]. There is also a cpio
archive with the report files.

What undertaker is not?
-----------------------

It isn't an automatic patch generator. Because of peculiarities in the
Kconfig semantics, (ignored) coding guidelines and simply engineering
issues, the reports might contain false negatives. Note that our
philosophy is that we prefer false negatives over false positives, i.e.,
we prefer to miss reports than reports that are no issue at all.

What else can i do with undertaker?
-----------------------------------

You can extract boolean formulas (with or without model) for a given
line of sourcecode in a file or for a given symbol. There is also an
integration for emacs for interactive browsing of block and symbol
preconditions.

Additional uses are currently under development.

[1] http://www4.informatik.uni-erlangen.de/Research/VAMOS/
[2] http://www4.informatik.uni-erlangen.de/Research/VAMOS/linux-trees/

-- 
Reinhard Tartler                     Department of Computer Science IV
Martensstr 1, 91058 Erlangen Germany, University of Erlangen-Nuremberg
            http://www4.informatik.uni-erlangen.de/~tartler

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ANNOUNCE] undertaker 1.0
  2011-01-27 11:56 [ANNOUNCE] undertaker 1.0 Reinhard Tartler
@ 2011-01-28 20:41 ` Thomas Gleixner
  2011-01-31 13:00   ` Christian Dietrich
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Gleixner @ 2011-01-28 20:41 UTC (permalink / raw)
  To: Reinhard Tartler; +Cc: Linux Kernel Mailing List, vamos, Julia Lawall

On Thu, 27 Jan 2011, Reinhard Tartler wrote:
> [2] http://www4.informatik.uni-erlangen.de/Research/VAMOS/linux-trees/

Nice effort.

I had a quick look into kernel/irq/

The red section in irqdesc.c

280 #if defined(CONFIG_KSTAT_IRQS_ONDEMAND)

is indeed dead code.

The one in manage.c is not:

 921 #ifdef CONFIG_IRQ_RELEASE_METHOD

CONFIG_IRQ_RELEASE_METHOD is set by arch/um. Ditto for include/linux/irq.h

It'd be nice if the web interface would have a knob to jump to the
next red section. Scrolling through is annoying.

Thanks,

	tglx



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ANNOUNCE] undertaker 1.0
  2011-01-28 20:41 ` Thomas Gleixner
@ 2011-01-31 13:00   ` Christian Dietrich
  2011-01-31 13:23     ` Thomas Gleixner
  0 siblings, 1 reply; 4+ messages in thread
From: Christian Dietrich @ 2011-01-31 13:00 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Reinhard Tartler, Linux Kernel Mailing List, vamos, Julia Lawall

Thomas Gleixner <tglx@linutronix.de> writes:

> The one in manage.c is not:
>
>  921 #ifdef CONFIG_IRQ_RELEASE_METHOD
>
> CONFIG_IRQ_RELEASE_METHOD is set by arch/um. Ditto for include/linux/irq.h

This problem was the result of an implementation bug. We didn't create a
feature model for um. This is now fixed in our master branch and will be
in the next minor release.

> It'd be nice if the web interface would have a knob to jump to the
> next red section. Scrolling through is annoying.

I generated a new code browser for -rc2[1]. There you can press 'n' to jump
to the next defect. I've only tested the javascript code with chromium,
but it should work anywhere else too.

[1] http://www4.informatik.uni-erlangen.de/Research/VAMOS/linux-trees/v2.6.38-rc2/
-- 
(λ x . x x) (λ x . x x) -- See how beautiful the lambda is
No documentation is better than bad documentation


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ANNOUNCE] undertaker 1.0
  2011-01-31 13:00   ` Christian Dietrich
@ 2011-01-31 13:23     ` Thomas Gleixner
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Gleixner @ 2011-01-31 13:23 UTC (permalink / raw)
  To: Christian Dietrich
  Cc: Reinhard Tartler, Linux Kernel Mailing List, vamos, Julia Lawall

On Mon, 31 Jan 2011, Christian Dietrich wrote:

> Thomas Gleixner <tglx@linutronix.de> writes:
> 
> > The one in manage.c is not:
> >
> >  921 #ifdef CONFIG_IRQ_RELEASE_METHOD
> >
> > CONFIG_IRQ_RELEASE_METHOD is set by arch/um. Ditto for include/linux/irq.h
> 
> This problem was the result of an implementation bug. We didn't create a
> feature model for um. This is now fixed in our master branch and will be
> in the next minor release.
> 
> > It'd be nice if the web interface would have a knob to jump to the
> > next red section. Scrolling through is annoying.
> 
> I generated a new code browser for -rc2[1]. There you can press 'n' to jump
> to the next defect. I've only tested the javascript code with chromium,
> but it should work anywhere else too.

Works nicely in firefox. Thanks a lot !

      tglx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-01-31 13:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-27 11:56 [ANNOUNCE] undertaker 1.0 Reinhard Tartler
2011-01-28 20:41 ` Thomas Gleixner
2011-01-31 13:00   ` Christian Dietrich
2011-01-31 13:23     ` Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.