arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2409.18530cs.SEcs.CR
收藏

对Linux中流行C包的静态分析

A Static Analysis of Popular C Packages in Linux

University of Southern Denmark(南丹麦大学)

Jukka Ruohonen, Mubashrah Saddiqa, Krzysztof Sierszecki

AI总结:

本文通过GCC静态分析器对Linux中流行的C包进行实证研究,发现未初始化变量和空指针解引用问题最为常见,同时揭示了警告分布的长尾特性及跨领域一致性。

摘要:

静态分析是一种提高软件安全性和质量的经典技术。最近,一种新的静态分析器被实现于GNU编译器集合(GCC)中。本文使用GCC的分析器对流行的Linux包进行了实证研究。所用的数据集基于Gentoo Linux发行版中的那些用C编写或包含C代码的包。总共涵盖了3538个此类包。根据结果,分析器发现未初始化变量和空指针解引用问题是最常见的问题。经典内存管理问题相对较少。警告在包之间遵循长尾概率分布;少数包高度易警告,而89%的包没有任何警告。此外,警告在不同应用领域之间没有差异。通过这些结果,本文为大规模软件质量和安全性的实证研究做出了贡献。此外,还讨论了结果的实践意义。

英文摘要:

Static analysis is a classical technique for improving software security and software quality in general. Fairly recently, a new static analyzer was implemented in the GNU Compiler Collection (GCC). The present paper uses the GCC's analyzer to empirically examine popular Linux packages. The dataset used is based on those packages in the Gentoo Linux distribution that are either written in C or contain C code. In total, 3,538 such packages are covered. According to the results, uninitialized variables and NULL pointer dereference issues are the most common problems according to the analyzer. Classical memory management issues are relatively rare. The warnings also follow a long-tailed probability distribution across the packages; a few packages are highly warning-prone, whereas no warnings are present for as much as 89% of the packages. Furthermore, the warnings do not vary across different application domains. With these results, the paper contributes to the domain of large-scale empirical research on software quality and security. In addition, a discussion is presented about practical implications of the results.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑