The analysis recognises cyclical dependencies on different levels. It can identify and monitor not only call cycles (recursions), but also component cycles and include cycles.
Include files often use each other. This produces mutual dependencies between the files and the resulting build problems. In addition, it hinders the developer in understanding the code.
Call cycles during runtime are hazardous. Functions call each other and therefore pose the risk of endless recursion. If these cycles are short, they may be recognised and resolved - even by the developers - during a review. But if the cycles are longer, they will be extremely difficult for a human observer to detect in a manual review.
For the Axivion Suite, however, they are just a loop in the call hierarchy and can be easily identified. If this kind of cycle is detected too late during development, there is often no simple way to resolve it. The cycle has become part of the intended functionality. Continuous verification is sure to remedy this.
If a direct cycle occurs, there is a risk the system can crash at any time. The Axivion Suite helps you reliably verify freedom from cycles.
The image depicts a complex call cycle, together with the source code and entry into this cycle.