Precisely which code is analysed by control-flag? #28
-
I am running this and seems to be working nicely so far, so thanks! I would just like to clarify precisely which code statements are being analysed by the software in its current state. Am I right in thinking that it is only looking at code contained within the () parentheses of
Also, are |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @JZacaroli - First, thank you so much for looking into and using ControlFlag! We greatly appreciate your support. :) Second, your understanding of ControlFlag (CF) is precisely correct for the current implementation. CF currently only analyzes if conditional expressions for anomalous code. The reason for this is many-fold, however, we plan to add support for all other control flow expressions (e.g., for loops, while loops, etc.) soon. One of the reasons we initially targeted if statements is because we had seen from various programming language surveys that a large number of the defects in code come from incorrectly written if conditionals (i.e., incorrect Boolean logic). That said, this is just the beginning of CF. In the coming months, we plan to add support for all control flow expressions as well as instruction-by-instruction analysis (e.g., double free bugs, out of bounds array accesses, etc.). However, as you probably already know, part of what makes it challenging to detect all these different types of defects is that we need to ensure that CF is computationally tractable in its solution space. If we exceed what is practical for computational tractability, we likely won't be able to help anyone, no matter how advanced CF is. Does that make sense? That aside, in our next round of features, we plan to do some much needed optimization of the core system as well as adding support for other critical control expressions. If you have suggestions on other features you believe we should be prioritizing, please let us know. Thank you again for using ControlFlag and for your feedback! Best, |
Beta Was this translation helpful? Give feedback.
Hi @JZacaroli -
First, thank you so much for looking into and using ControlFlag! We greatly appreciate your support. :)
Second, your understanding of ControlFlag (CF) is precisely correct for the current implementation. CF currently only analyzes if conditional expressions for anomalous code. The reason for this is many-fold, however, we plan to add support for all other control flow expressions (e.g., for loops, while loops, etc.) soon.
One of the reasons we initially targeted if statements is because we had seen from various programming language surveys that a large number of the defects in code come from incorrectly written if conditionals (i.e., incorrect Boolean logic). That said, th…