On Mon, 25 Nov 2024, Markus Elfring wrote: > Hello, > > I would like to clarify software development consequences also for > a simple script variant for the semantic patch language (like the following). > > > @show_questionable_checks@ > expression e1, e2; > statement s1, s2; > @@ > if > ( > *!(e1 || e2) > ) > s1 > else > s2 > > > Questionable test result: > Markus_Elfring@Sonne:/home/altes_Heim2/elfring/Projekte/Coccinelle/janitor> spatch --parse-cocci show_questionable_OR_checks2.cocci > … > ( > > ( > > ( > if (*!*(*e1 *|| *e2*)) > | > if (*!*e1 *|| *e2) > )s1 else s2 > | > … > > > I would interpret such data display in the way that the isomorphism “paren” > was applied here. > https://gitlab.inria.fr/coccinelle/coccinelle/-/blob/04f71e76b0857ca12ec7207b26368df78d2b57d4/standard.iso#L389 > > I find the shown SmPL code transformation inappropriate at this place. > Would we like to apply De Morgan's laws instead? > https://en.wikipedia.org/wiki/De_Morgan%27s_laws > > Would we like to reconsider the application of the isomorphism for the switching > of if/else branches accordingly? Indeed, it looks wrong. Thanks for the report. julia