TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

What is soundness in static analysis? (2017)

34 点作者 rntz超过 5 年前

2 条评论

balddenimhero超过 5 年前
While &quot;soundness&quot; and &quot;completeness&quot; are well-defined properties of deductive systems, using such formal methods for analysis of real-world systems requires their formalisation. However, the formalisation of any real-world system will inherently introduce abstraction&#x2F;assumptions. The question really is about which assumptions one should make when formalising software.<p>For example, when reasoning about software, one often abstracts from hardware details like battery-backed memory that will presist through a crash. There are also many &quot;reasonable&quot; assumptions at software-level, like `malloc` never failing, that many verifiers make in order to give more helpful results than &quot;functional correctness is not guaranteed when using malloc&quot;.<p>The discussed paper is especially interesting for practitioners, as it tries to state all the assumptions made in the design of DR.CHECKER&#x27;s static analysis. While this results in abstracting from certain realisable behaviours, e.g. &quot;it treats each entry point independently&quot; and misses state-dependent bugs, stating these assumptions helps with judging&#x2F;estimating the quality of the results.<p>The paper&#x27;s authors present a static analysis whose reasoning is sound w.r.t. stated assumptions. This is what they call &quot;soundy&quot;. The actual post&#x2F;article raises the important issue that it would be helpful to define what a sound static analysis of software is, that is agree on the assumptions&#x2F;abstractions made. However, picking a &quot;reasonable&quot; set of assumptions for a &quot;sufficiently sound&quot; static analysis is admittedly a difficult task, and of course not provided (yet).<p>It seems to me that finding a common set of assumptions is less of an issue for competitive software model checkers though, as the benchmarks used in the competition on software verification (SV-COMP) implicitly prescribe which aspects have to be modelled &quot;properly&quot;. Couldn&#x27;t a similar competition for static analysis give rise to a set of common assumptions for static analysis, too?
Animats超过 5 年前
The concept of &quot;soundiness&quot; as defined in the article (fake soundness) is useless for code with security implications. Attackers are not statistical noise.
评论 #21236721 未加载