>>> 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

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 via email to