On the Relationship between Code Verifiability and Understandability
Kobi Feldman, Martin Kellogg, Oscar Chaparro
摘要
Proponents of software verification have argued that simpler code is easier to verify: that is, that verification tools issue fewer false positives and require less human intervention when analyzing simpler code. We empirically validate this assumption by comparing the number of warnings produced by four state-of-the-art verification tools on 211 snippets of Java code with 20 metrics of code comprehensibility from human subjects in six prior studies.
Our experiments, based on a statistical (meta-)analysis, show that, in aggregate, there is a small correlation (𝑟 = 0.23) between understandability and verifiability. The results support the claim that easy-to-verify code is often easier to understand than code that requires more effort to verify. Our work has implications for the users and designers of verification tools and for future attempts to automatically measure code comprehensibility: verification tools may have ancillary benefits to understandability, and measuring understandability may require reasoning about semantic, not just syntactic, code properties.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper6
- Program Comprehension and Code Complexity Metrics: An fMRI StudyNorman Peitek, Sven Apel, Chris Parnin, André Brechmann 等ICSE 2021 · 被引用 59 次
- A large-scale study of usability criteria addressed by static analysis toolsMarcus Nachtigall, Michael Schlichtig, Eric BoddenISSTA 2022 · 被引用 38 次
- The Mind Is a Powerful Place: How Showing Code Comprehensibility Metrics Influences Code UnderstandingMarvin Wyrich, Andreas Preikschat, Daniel Graziotin, Stefan WagnerICSE 2021 · 被引用 24 次
- Thinking aloud about confusing code: a qualitative investigation of program comprehension and atoms of confusionDan Gopstein, Anne-Laure Fayard, Sven Apel, Justin CapposFSE 2020 · 被引用 23 次
- Lightweight and modular resource leak verificationMartin Kellogg, Narges Shadab, Manu Sridharan, Michael D. ErnstFSE 2021 · 被引用 14 次
相关 Paper
- A Comprehensive Study on Quality Assurance Tools for JavaHan Liu, Sen Chen, Ruitao Feng, Chengwei Liu 等ISSTA 2023 · 被引用 12 次
- Scalability and precision by combining expressive type systems and deductive verificationFlorian Lanzinger, Alexander Weigl, Mattias Ulbrich, Werner DietlOOPSLA 2021 · 被引用 6 次
- SATune: A Study-Driven Auto-Tuning Approach for Configurable Software Verification ToolsUgur Koc, Austin Mordahl, Shiyi Wei, Jeffrey S. Foster 等ASE 2021 · 被引用 6 次
- Tailoring programs for static analysis via program transformationRijnard van Tonder, Claire Le GouesICSE 2020 · 被引用 6 次
- Less is More: Supporting Developers in Vulnerability Detection during Code ReviewLarissa Braz, Christian Aeberhard, Gül Çalikli, Alberto BacchelliICSE 2022 · 被引用 26 次
