{"title":"Static Detection of Bugs Caused by Incorrect Exception Handling in Java Programs","authors":"Xiaoquan Wu, Zhongxing Xu, Jun Wei","doi":"10.1109/QSIC.2011.25","DOIUrl":null,"url":null,"abstract":"Exception handling is a vital but often poorly tested part of a program. Static analysis can spot bugs on exceptional paths without actually making the exceptions happen. However, the traditional methods only focus on null dereferences on exceptional paths, but do not check the states of variables, which may be corrupted by exceptions. In this paper we propose a static analysis method that combines forward flow sensitive analysis and backward path feasibility analysis, to detect bugs caused by incorrect exception handling in Java programs. We found 8 bugs in three open source server applications, 6 of which cannot be found by Find Bugs. The experiments showed that our method is effective for finding bugs related to poorly handled exceptions.","PeriodicalId":309774,"journal":{"name":"2011 11th International Conference on Quality Software","volume":"15 3","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-07-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 11th International Conference on Quality Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/QSIC.2011.25","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
Exception handling is a vital but often poorly tested part of a program. Static analysis can spot bugs on exceptional paths without actually making the exceptions happen. However, the traditional methods only focus on null dereferences on exceptional paths, but do not check the states of variables, which may be corrupted by exceptions. In this paper we propose a static analysis method that combines forward flow sensitive analysis and backward path feasibility analysis, to detect bugs caused by incorrect exception handling in Java programs. We found 8 bugs in three open source server applications, 6 of which cannot be found by Find Bugs. The experiments showed that our method is effective for finding bugs related to poorly handled exceptions.