On the usage of recursive function calls in C/C++ general purpose software systems

2017 
An empirical study that examines the pervasiveness, presence, and distribution of recursive function calls that are known to affect the parallelizability and analyzability of the source code in C/C++ software systems is presented. A case study is conducted on seven general purpose open source software systems, comprising several million lines of code. The systems were statically analyzed using a software tool to detect, determine, and tabulate all recursive invocations to programmer-defined functions. The preliminary findings show that recursion (direct and indirect) is still being used by the developers of the studied systems. As the complexity and analysis challenges imposed and caused by those recursive calls and functions are growing, from a software engineering perspective, our findings can be used to develop effective programs and methods that help educate software developers on more maintainable, parallelizable, and analyzable coding practices that can eliminate the challenges caused by those recursive algorithms and functions. A historical investigation revealed an increase in recursion usage, thus making the studied systems less analyzable and less maintainable, creating more roadblocks towards completing the typical software evolution tasks required as software systems evolve over time.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    5
    References
    0
    Citations
    NaN
    KQI
    []