Abstract
Static source code analysis tools have become indispensable for the development of reliable software applications. The best analyzers can reveal subtle flaws in a code base, but they can also be slow. In part this is due to the collection of detailed information about the possible data and control flow of an application to support the broadest possible range of analyses. For larger code bases it is not unusual that even the best of breed static analyzers can take an hour or more to complete an analysis. In this paper we describe a framework for a much faster, but more light-weight type of static analysis that can support interactive use for standard types of queries. The Cobra tool we designed for this purpose can scale to explore millions of lines of code interactively. The tool is mostly language agnostic, and can therefore easily be configured to resolve even dynamic program analysis queries.
Similar content being viewed by others
Notes
An acronym for Code Browser and Analyzer.
References
Havelund K (2015) Rule-based runtime verification revisited. Int J Softw Tools Technol Transf 17(2):143–170
Holzmann GJ (2016) Tiny tools. IEEE Software, pp 24–28
The history of Cscope. http://cscope.sourceforge.net/history.html
Overview of static analyzers. http://spinroot.com/static
Acknowledgments
This research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Rights and permissions
About this article
Cite this article
Holzmann, G.J. Cobra: a light-weight tool for static and dynamic program analysis. Innovations Syst Softw Eng 13, 35–49 (2017). https://doi.org/10.1007/s11334-016-0282-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-016-0282-x