logoalt Hacker News

ozimtoday at 5:42 AM3 repliesview on HN

System is more complex based on possible states it can have or inputs/outputs.

That is just maths here working. Two systems combined always will have more states and inputs/outputs.

There is nothing to check here as it can be proven purely by maths.

Complex systems having more attack surface are obviously less secure.

They might be less interesting for attackers if they have to scan huge attack surface like IPv6 vs IPv4 but no one is claiming IPv6 network is more secure.


Replies

bunderbundertoday at 12:29 PM

Cyclomatic complexity is funny math, though. The article demonstrates how. They took a single function that makes state changes to an object, and scattered that logic across four different functions that make the same set of state changes. That’s all. This had adverse impact on the complexity of the system - the logic and behavior of the top level function are the same. It’s just as stateful and has just as many linearly independent code paths. They just got shuffled around to game the way that cyclomatic complexity treats function calls.

But in the process they created three additional functions to call. That means the overall system has more possible code paths, and introduces a need to think about what happens if they are ever called from somewhere other than the original entry point. Introducing ways to screw things up that did not previously exist is not reducing complexity and it is not increasing maintainability.

Your insistence that this somehow managed complexity is exactly why I wrote the top level comment cautioning people about how they interpret cyclomatic complexity. If you don’t understand what it’s actually measuring - not complexity, not really - then it will mislead you into bad decisions.

Rexxartoday at 10:14 AM

  > That is just maths here working
No this is just numerology here, it's meaningless.
anon48293today at 6:47 AM

No. Watch the simple made easy talk.

Just more I/O isn’t more complicated nor a bigger risk. More entanglement is more complicated.