Skip to main content

Towards a Resident Static Analysis

  • Conference paper
  • First Online:
Book cover Computational Science and Its Applications – ICCSA 2019 (ICCSA 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11620))

Included in the following conference series:

  • 1753 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://sonarcloud.io.

  2. 2.

    https://clang.llvm.org/extra/clangd.html.

  3. 3.

    https://github.com/rust-lang/rls.

  4. 4.

    https://resources.grammatech.com/blog-3/static-analysis-results-a-format-and-a-protocol-sarif-sasp.

  5. 5.

    https://blog.jetbrains.com/dotnet/2018/05/29/taking-resharper-process-resharper-performance-series.

  6. 6.

    https://github.com/JetBrains/rd.

  7. 7.

    https://developers.google.com/protocol-buffers.

  8. 8.

    Clang Analyzer Scan Build: https://clang-analyzer.llvm.org/scan-build.html.

References

  1. Language Server Protocol. https://microsoft.github.io/language-server-protocol

  2. 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)

    Article  Google Scholar 

  3. Campbell, G., Papapetrou, P.P.: SonarQube in action. Manning Publications Co., Shelter Island (2013)

    Google Scholar 

  4. Dean, J., Ghemawat, S.: MapReduce: A flexible data processing tool. Commun. ACM 53(1), 72–77 (2010)

    Article  Google Scholar 

  5. Dubey, A., Wagle, D.: Delivering software as a service. McKinsey Q. 6(2007), 2007 (2007)

    Google Scholar 

  6. Gasior, Ł.: ReSharper Essentials. Community Experience Distilled. Packt Publishing, Birmingham (2014)

    Google Scholar 

  7. Menshchikov, M.: Hybrid system of static analysis with proof-based verification of invariants. Master’s thesis, Saint Petersburg State University (2018)

    Google Scholar 

  8. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maxim Menshikov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics