A Comprehensive Review of Static Memory Analysis

被引:0
作者
Akinyemi, Temidayo [1 ]
Solomon, Enoch [1 ]
Woubie, Abraham [2 ]
Lippert, Kari [3 ]
机构
[1] Virginia State Univ, Dept Comp Sci, Petersburg, VA 23806 USA
[2] Silo AI, Helsinki 00180, Finland
[3] Univ S Alabama, Dept Syst Engn, Mobile, AL 36688 USA
来源
IEEE ACCESS | 2024年 / 12卷
关键词
Static analysis; Random access memory; Computer bugs; Codes; !text type='Python']Python[!/text; Pattern matching; Memory management; !text type='Java']Java[!/text; Security; Source coding; C plus plus languages; C plus plus; pattern matching; SharpChecker; static memory analysis; symbolic execution;
D O I
10.1109/ACCESS.2024.3482253
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:170204 / 170226
页数:23
相关论文
共 47 条
[21]  
Kovacs R., 2019, P 9 BALKAN C INFORMA, P1, DOI 10.1145/3351556.3351585
[22]   A critical comparison on six static analysis tools: Detection, agreement, and precision? [J].
Lenarduzzi, Valentina ;
Pecorelli, Fabiano ;
Saarimaki, Nyyti ;
Lujan, Savanna ;
Palomba, Fabio .
JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 198
[23]  
Lujan S., 2020, Should We Trust Automated Static Analysis Tools? A Comparison on the Agreement of Three Tools
[24]  
Mahfoud H., 2020, P MED C PATT REC ART, P298
[25]  
Mamun M., 2010, Comparing Four Static Analysis Tools for Java Concurrency Bugs
[26]  
Moerman J., 2018, Evaluating the Performance of Open Source Static Analysis
[27]  
Oskouei E. H., 2018, FigshareNov. 24
[28]   A survey of new trends in symbolic execution for software testing and analysis [J].
Corina S. Păsăreanu ;
Willem Visser .
International Journal on Software Tools for Technology Transfer, 2009, 11 (4) :339-353
[29]  
Penttil E., 2014, Aaltodoc RepositoryJun. 2,
[30]  
Rival Xavier, 2020, Introduction to Static Analysis: An Abstract Interpretation Perspective