Finding bugs is easy

Author:

Hovemeyer David1,Pugh William1

Affiliation:

1. University of Maryland, College Park, Maryland

Abstract

Many techniques have been developed over the years to automatically find bugs in software. Often, these techniques rely on formal methods and sophisticated program analysis. While these techniques are valuable, they can be difficult to apply, and they aren't always effective in finding real bugs. Bug patterns are code idioms that are often errors. We have implemented automatic detectors for a variety of bug patterns found in Java programs. In this paper, we describe how we have used bug pattern detectors to find serious bugs in several widely used Java applications and libraries. We have found that the effort required to implement a bug pattern detector tends to be low, and that even extremely simple detectors find bugs in real applications.From our experience applying bug pattern detectors to real programs, we have drawn several interesting conclusions. First, we have found that even well tested code written by experts contains a surprising number of obvious bugs. Second, Java (and similar languages) have many language features and APIs which are prone to misuse. Finally, that simple automatic techniques can be effective at countering the impact of both ordinary mistakes and misunderstood language features.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference45 articles.

1. Apache Ant http://ant.apache.org/ 2004. Apache Ant http://ant.apache.org/ 2004.

2. G. Back and D. Engler. MJ: A system for constructing bug-finding analyses for Java. http://www.stanford.edu/~gback/gback-icse2004.pdf 2003. G. Back and D. Engler. MJ: A system for constructing bug-finding analyses for Java. http://www.stanford.edu/~gback/gback-icse2004.pdf 2003.

Cited by 316 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Impermanent identifiers: Enhanced source code comprehension and refactoring;Journal of Systems and Software;2024-10

2. Do Scratchers Fix Their Bugs? Detecting Fixes of Scratch Static Analysis Warnings;Proceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research;2024-09-16

3. Acknowledging Good Java Code with Code Perfumes;2024 36th International Conference on Software Engineering Education and Training (CSEE&T);2024-07-29

4. Reducing False Positives of Static Bug Detectors Through Code Representation Learning;2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER);2024-03-12

5. Enhancing Field Tracking and Interprocedural Analysis to Find More Null Pointer Exceptions;2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER);2024-03-12

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3