cocci.inria.fr archive mirror
 help / color / mirror / Atom feed
From: Julia Lawall <julia.lawall@inria.fr>
To: Markus Elfring <Markus.Elfring@web.de>
Cc: Coccinelle <cocci@systeme.lip6.fr>
Subject: Re: [Cocci] More support for SmPL data processing with databases?
Date: Mon, 13 Apr 2020 18:00:06 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.21.2004131758380.3035@hadrien> (raw)
In-Reply-To: <12e1bffb-9df2-3b58-a58e-2235f745524b@web.de>



On Mon, 13 Apr 2020, Markus Elfring wrote:

> >>> Maybe you consider the following results to be a problem:
> >>>
> >>> kzalloc mcde [("mcde_probe", 2, 0, 198, 1, "m.c", 16, 1, 16, 3)]
> >>> kzalloc ! mcde [("mcde_probe", 2, 0, 198, 1, "m.c", 16, 1, 16, 3)]
> >>> platform_get_irq irq [("mcde_probe", 2, 0, 198, 1, "m.c", 97, 1, 97, 3)]
> >>> platform_get_irq ! irq [("mcde_probe", 2, 0, 198, 1, "m.c", 97, 1, 97, 3)]
> >>>
> >>> The positions are the same.  The result is because of an isomorphism that
> >>> exchanges the branches of a conditional.
>
> I would find it nice to explain the different software behaviour for the mentioned
> SmPL code variants

Run spatch -parse-cocci and you will easily see.  The if stays in the same
place.  When the isomorphism exchanges the branches, the condition gets
negated, so in one case you get the position of the full condition and in
the other case you get the position of the part of the condition under the
negation.

julia

>
> A:
>  if@p (
> (     <+... result ...+>
> &     check
> )     )
>
>
> B:
>  if (
> (   <+... result ...+>
> &   check@p
> )   )
>
>
>
> >> Can the data which are provided because of isomorphism transformations
> >> be distinguished by an additional attribute?
> >
> > I think that you just want to disable the isomorphism.  Put disable neg_if
> > in the initial @@ of your rule.
>
> Thanks for this suggestion.
>
> Source code analysis can be continued also with this configuration option.
>
>
> Now I become also more interested in improvements around parallel data processing.
> Which data structures would support aggregate computations for a growing code base?
>
> Regards,
> Markus
>
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

  reply	other threads:[~2020-04-13 16:00 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-10 15:07 [Cocci] Searching for functions with negative return values as error indication Markus Elfring
2020-04-10 15:12 ` Julia Lawall
2020-04-10 16:01   ` Markus Elfring
2020-04-11 13:43   ` [Cocci] Reporting variations of condition checks according to function calls Markus Elfring
2020-04-11 14:01     ` Julia Lawall
2020-04-11 14:06       ` Markus Elfring
2020-04-11 17:25       ` Markus Elfring
     [not found]         ` <alpine.DEB.2.21.2004112036270.2369@hadrien>
2020-04-11 18:50           ` Markus Elfring
2020-04-12  8:06           ` [Cocci] More support for SmPL data processing with databases? Markus Elfring
2020-04-12  8:51             ` Julia Lawall
2020-04-12  9:01               ` Markus Elfring
     [not found]                 ` <alpine.DEB.2.21.2004121115210.2419@hadrien>
2020-04-12  9:27                   ` [Cocci] Checking the application of the SmPL isomorphism “drop_else” Markus Elfring
2020-05-03  9:08                     ` Markus Elfring
2020-04-12 16:52               ` [Cocci] More support for SmPL data processing with databases? Markus Elfring
     [not found]                 ` <alpine.DEB.2.21.2004121904290.2419@hadrien>
2020-04-12 17:14                   ` Markus Elfring
2020-04-13  7:10                 ` Markus Elfring
     [not found]                   ` <alpine.DEB.2.21.2004130957540.3035@hadrien>
2020-04-13  8:23                     ` Markus Elfring
     [not found]                       ` <alpine.DEB.2.21.2004131029330.3035@hadrien>
2020-04-13  8:47                         ` Markus Elfring
     [not found]                           ` <alpine.DEB.2.21.2004131056350.3035@hadrien>
2020-04-13  9:03                             ` Markus Elfring
     [not found]                       ` <alpine.DEB.2.21.2004131031130.3035@hadrien>
2020-04-13  8:58                         ` Markus Elfring
2020-04-13 12:48                     ` Markus Elfring
2020-04-13 13:57                       ` Julia Lawall
2020-04-13 14:23                         ` Markus Elfring
     [not found]                           ` <alpine.DEB.2.21.2004131627470.3035@hadrien>
2020-04-13 14:50                             ` Markus Elfring
2020-04-13 14:59                               ` Julia Lawall
2020-04-13 15:19                                 ` Markus Elfring
2020-04-13 16:00                                   ` Julia Lawall [this message]
2020-04-13 16:08                                     ` Markus Elfring
2020-04-13 16:10                                       ` Julia Lawall
2020-04-13 16:14                                         ` Markus Elfring
2020-04-12 13:01           ` [Cocci] Reporting variations of condition checks according to function calls Markus Elfring
2020-04-12 13:27             ` Julia Lawall
2020-04-12 13:54               ` Markus Elfring
     [not found]                 ` <alpine.DEB.2.21.2004121624180.2419@hadrien>
2020-04-12 14:35                   ` Markus Elfring
2020-04-12 14:41                     ` Julia Lawall
2020-04-12 14:48                       ` Markus Elfring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2004131758380.3035@hadrien \
    --to=julia.lawall@inria.fr \
    --cc=Markus.Elfring@web.de \
    --cc=cocci@systeme.lip6.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).