Abstract
The software engineering industry is moving from run-once tools to resident servers. This is well seen in the compiler industry, which accelerated the development of Language Server protocols used in Integrated Development Environments. Static analysis can also benefit from it. In our static analyzer framework, we experimented with making the analysis resident. The implementation comprises the mediator serving user’s requests and analyzer units doing static analysis, saving the results to shared or local databases. Thus, the resident analyzer is an adaptation of a software-as-a-service model to the field. In the paper, we present the stages the analyzer goes through, including controlled compilation, data fetching, preliminary and on-demand analysis, show their corner cases. The model was tested in two scenarios. For a single query, the resident analyzer is acting 6–40% worse than a standalone version with a defined analysis plan, which is expected due to memory usage optimization. In a failover scenario, the rescheduling avoids data loss at the cost of increased computation time. These effects shape the differences between models and their applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
Clang Analyzer Scan Build: https://clang-analyzer.llvm.org/scan-build.html.
References
Language Server Protocol. https://microsoft.github.io/language-server-protocol
Bessey, A., et al.: A few billion lines of code later: using static analysis to find bugs in the real world. Commun. ACM 53(2), 66–75 (2010)
Campbell, G., Papapetrou, P.P.: SonarQube in action. Manning Publications Co., Shelter Island (2013)
Dean, J., Ghemawat, S.: MapReduce: A flexible data processing tool. Commun. ACM 53(1), 72–77 (2010)
Dubey, A., Wagle, D.: Delivering software as a service. McKinsey Q. 6(2007), 2007 (2007)
Gasior, Ł.: ReSharper Essentials. Community Experience Distilled. Packt Publishing, Birmingham (2014)
Menshchikov, M.: Hybrid system of static analysis with proof-based verification of invariants. Master’s thesis, Saint Petersburg State University (2018)
Menshchikov, M.: Scalable semantic virtual machine framework for language-agnostic static analysis. In: Distributed Computing and Grid-technologies in Science and Education, pp. 213–217 (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Menshikov, M. (2019). Towards a Resident Static Analysis. In: Misra, S., et al. Computational Science and Its Applications – ICCSA 2019. ICCSA 2019. Lecture Notes in Computer Science(), vol 11620. Springer, Cham. https://doi.org/10.1007/978-3-030-24296-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-24296-1_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-24295-4
Online ISBN: 978-3-030-24296-1
eBook Packages: Computer ScienceComputer Science (R0)