[ 
https://issues.apache.org/jira/browse/HBASE-12187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14184734#comment-14184734
 ] 

Ding Yuan commented on HBASE-12187:
-----------------------------------

I have implemented the three checks from aspirator into error-prone version 
1.1.2. These three checks are:
(1). Catch block that ignores exception (including containing only a log 
printing statement);
(2). Aborting the system on exception over-catch; 
(3). Catch block containing "TODO" or "FIXME" in comments

Among them, (1) is a bit complicated since I included quite a few false 
positive suppression heuristics as described in the paper. 

I have tested all three checks on HBase-0.99.0. The first check found 111 
cases, while the other two found less than 10 each. I have attached the 
reported cases as attachments.

Currently I assigned all of the three checks as "ERROR" severity. So if one 
thinks that a case is fine, an annotation like "@SupressWarnings("EmptyCatch")" 
is needed to get the compilation to succeed. 

I am attaching the patch to error-prone v1.1.2, which contains the three added 
checks. I have also uploaded my error-prone repository to:
https://github.com/diy1/error-prone-aspirator

Please let me know how i can further help.
cheers,
ding

> Review in source the paper "Simple Testing Can Prevent Most Critical Failures"
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-12187
>                 URL: https://issues.apache.org/jira/browse/HBASE-12187
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Priority: Critical
>
> Review the helpful paper 
> https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
> It describes 'catastrophic failures', especially issues where exceptions are 
> thrown but not properly handled.  Their static analysis tool Aspirator turns 
> up a bunch of the obvious offenders (Lets add to test-patch.sh alongside 
> findbugs?).  This issue is about going through code base making sub-issues to 
> root out these and others (Don't we have the test described in figure #6 
> already? I thought we did?  If we don't, need to add).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to