A Systemic Review of Static Memory Analysis

Authors: Enoch Solomon
Primary area: infrastructure, software libraries, hardware, systems, etc.
Keywords: C++, Java, pattern matching, Python, SharpChecker, static memory analysis, symbolic execution

Abstract:
This review aims to evaluate and compare various static analysis tools across multiple programming languages for memory management. The tools and techniques under scrutiny include pattern matching, symbolic execution, CppCheck, SharpChecker, FindBugs, CheckStyle, and Pylint. When examining the methods, pattern-matching, and symbolic execution, we identified implementations using pattern-matching and symbolic execution for each programming language. We focus on understanding the full scope of their capabilities and effectiveness in managing internal and external memory  components such as RAM, SRAM, PROM, Cache, Optical Drive, etc. While static analysis tools do not directly analyze physical memory components, they are crucial in enhancing memory behavior. By detecting and addressing memory-related issues early in the development process, these tools contribute significantly to the overall quality of software systems. This review will thoroughly examine the strengths and weaknesses of each static analysis tool, aiding in selecting the most suitable tool or combination of tools for effective memory management across diverse programming environments.

Decision: desk reject

Reviews and discussion:

Metareview: