hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ding Yuan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12187) Review in source the paper "Simple Testing Can Prevent Most Critical Failures"
Date Mon, 27 Oct 2014 01:27:34 GMT

    [ 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)

Mime
View raw message