How Do Fixes Become Bugs

本文研究了大型操作系统中错误Bug修复的问题,发现至少14.8%-24.4%的修复导致了新的问题,尤其并发Bug修复正确率仅61%。分析了错误修复的原因,并提出改进开发流程及新工具的设计思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件工程的名声可以说一直不太好,理论和实际脱节的比较厉害。不过这篇文章应该有一定的指导意义。如果真有个开源的工具来改进无穷的Bugfix,应该可以较大的提高开发团队的成产效率。

ABSTRACT

Software bugs affect system reliability. When a bug is ex-posed in the field, developers need to fix them.Unfortunately, the bug-fixing process can also introduce errors, which leads to buggy patches that further aggravate the damage to end users and erode software vendors’ reputation. This paper presents a comprehensive characteristic study on incorrect bug-fixes from large operating system codebases including Linux, Open Solaris, FreeBSD and also a mature commercial OS developed and evolved over the last 12 years, investigating not only the mistake patterns duringbug-fixing but also the possible human reasons in the development process when these incorrect bug-fixes were introduced. Our major findings include: (1) at least 14.8%24.4% of sampled fixes for post-release bugs 1 in these large OSes are incorrect and have made impacts to end users. (2) Among

several common bug types, concurrency bugs are the most difficult to fix correctly: 39% of concurrency bug fixes are incorrect. (3) Developers and reviewers for incorrect fixes usually do not have enough knowledge about the involved code. For example, 27% of the incorrect fixes are made by developers who have never touched the source code files associated with the fix. Our results provide useful guidelines to design new tools and also to improve the development process. Based on our findings, the commercial software vendor whose OS code we evaluated is building a tool to improve the bug fixing and code reviewing process.

 

引用\[1\]:eslint提示如下: any Parsing error: Unexpected token, expected "," (116:58)eslint ',' expected.ts(1005) No quick fixes available。这个错误提示意味着在代码的第116行的第58个字符处出现了一个意外的标记,期望是逗号。这可能是由于语法错误导致的。\[1\] 引用\[2\]:\[vue/valid-template-root\] The template root requires exactly one element.eslint-plugin-vue Peek Problem No quick fixes available。这个错误提示意味着Vue模板的根元素必须只能有一个。这可能是由于模板结构不正确导致的。\[2\] 引用\[3\]:问题 VUE报错: \[vue/require-v-for-key\] Elements in iteration expect to have ‘v-bind:key’ directives.eslint-plugin-vue Peek Problem (Alt+F8)No quick fixes available。这个错误提示意味着在Vue的循环中,每个元素都需要添加一个'v-bind:key'指令。这可能是由于缺少'v-bind:key'指令导致的。\[3\] 根据你提供的信息,"no quick fixes available"表示没有快速修复的方法可用。这意味着这些错误可能需要手动修复。你可以根据错误提示来检查代码并进行相应的修复,比如添加逗号、调整模板结构或添加'v-bind:key'指令。如果你需要更具体的帮助,请提供更多的代码细节。 #### 引用[.reference_title] - *1* [flask server返回json数据对象中有空格的数据提取方法,正常前端是无法用.的形式调用,原因是变量中不能由...](https://blog.csdn.net/qq_28866895/article/details/125553774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue--The template root requires exactly one element.的解决办法](https://blog.csdn.net/weixin_41563161/article/details/102989252)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue报错: [vue/require-v-for-key] Elements in iteration expect to have ‘v-bind:key‘ directives.](https://blog.csdn.net/weixin_42835409/article/details/114256642)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值