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