* [Cocci] Determination of failure predicates for selected function calls with SmPL? @ 2020-03-25 17:00 Markus Elfring 2020-03-25 17:32 ` Julia Lawall 0 siblings, 1 reply; 4+ messages in thread From: Markus Elfring @ 2020-03-25 17:00 UTC (permalink / raw) To: Coccinelle Hello, I have noticed the patch “tty: serial: fsl_lpuart: fix return value checking”. https://lore.kernel.org/linux-serial/20200325090658.25967-2-michael@walle.cc/ https://lore.kernel.org/patchwork/patch/1215542/ https://lkml.org/lkml/2020/3/25/202 I am curious if such a software transformation can be extended for similar source code searches also by the means of the semantic patch language. The proper knowledge of failure predicates for function calls is a key aspect for this use case. Would you like to clarify any corresponding development possibilities? Regards, Markus _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Cocci] Determination of failure predicates for selected function calls with SmPL? 2020-03-25 17:00 [Cocci] Determination of failure predicates for selected function calls with SmPL? Markus Elfring @ 2020-03-25 17:32 ` Julia Lawall 2020-03-25 18:00 ` Markus Elfring 2020-03-26 6:45 ` Markus Elfring 0 siblings, 2 replies; 4+ messages in thread From: Julia Lawall @ 2020-03-25 17:32 UTC (permalink / raw) To: Markus Elfring; +Cc: Coccinelle [-- Attachment #1: Type: text/plain, Size: 983 bytes --] On Wed, 25 Mar 2020, Markus Elfring wrote: > Hello, > > I have noticed the patch “tty: serial: fsl_lpuart: fix return value checking”. > https://lore.kernel.org/linux-serial/20200325090658.25967-2-michael@walle.cc/ > https://lore.kernel.org/patchwork/patch/1215542/ > https://lkml.org/lkml/2020/3/25/202 > > I am curious if such a software transformation can be extended for similar > source code searches also by the means of the semantic patch language. > The proper knowledge of failure predicates for function calls is a key aspect > for this use case. > Would you like to clarify any corresponding development possibilities? I'm not sure what there is to clarify. One can surely write rules that find this kind of problem, with a varying rate of false positives. A simple approach would be to check all occurrences of if (!ret) for an integer-typed variable, because typically that is the success case. But sometimes people do put the success case under an if. julia [-- Attachment #2: Type: text/plain, Size: 136 bytes --] _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Cocci] Determination of failure predicates for selected function calls with SmPL? 2020-03-25 17:32 ` Julia Lawall @ 2020-03-25 18:00 ` Markus Elfring 2020-03-26 6:45 ` Markus Elfring 1 sibling, 0 replies; 4+ messages in thread From: Markus Elfring @ 2020-03-25 18:00 UTC (permalink / raw) To: Julia Lawall; +Cc: Coccinelle >> I have noticed the patch “tty: serial: fsl_lpuart: fix return value checking”. >> https://lore.kernel.org/linux-serial/20200325090658.25967-2-michael@walle.cc/ … > I'm not sure what there is to clarify. Such an use case can point some software development challenges out. > One can surely write rules that find this kind of problem, I know this in principle. > with a varying rate of false positives. I am trying again to reduce this special case considerably. > A simple approach would be to check all occurrences of if (!ret) for an > integer-typed variable, because typically that is the success case. I would like to increase the probability for generation of corresponding fixes. The success predicate can be also the opposite if you would like to take a Linux macro like access_ok() or valid pointers (after memory allocations for example) into account. > But sometimes people do put the success case under an if. I am curious how often such source code variations should be considered. Regards, Markus _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Cocci] Determination of failure predicates for selected function calls with SmPL? 2020-03-25 17:32 ` Julia Lawall 2020-03-25 18:00 ` Markus Elfring @ 2020-03-26 6:45 ` Markus Elfring 1 sibling, 0 replies; 4+ messages in thread From: Markus Elfring @ 2020-03-26 6:45 UTC (permalink / raw) To: Julia Lawall; +Cc: Coccinelle >> I have noticed the patch “tty: serial: fsl_lpuart: fix return value checking”. >> https://lore.kernel.org/linux-serial/20200325090658.25967-2-michael@walle.cc/ … > I'm not sure what there is to clarify. One can surely write rules that > find this kind of problem, with a varying rate of false positives. Will further changes become more interesting also according to other development approaches you care for? * Prequel http://prequel-pql.gforge.inria.fr/ * Machine learning for software corrections https://hal.inria.fr/hal-02373994 https://doi.org/10.1109/TSE.2019.2952614 Regards, Markus _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-03-26 6:46 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-03-25 17:00 [Cocci] Determination of failure predicates for selected function calls with SmPL? Markus Elfring 2020-03-25 17:32 ` Julia Lawall 2020-03-25 18:00 ` Markus Elfring 2020-03-26 6:45 ` Markus Elfring
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).