commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Loskutov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BCEL-273) Regressions running FindBugs on BCEL6
Date Thu, 09 Jun 2016 17:07:21 GMT

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

Andrey Loskutov commented on BCEL-273:
--------------------------------------

Agree. 
I don't think the old state was buggy, otherwise we would see bug reports. Cleaning the code
base is OK, but sometimes existing API can not be cleaned because it is simply not well designed.
There was a reason for original author of swapInstruction to allow instruction handles have
different instructions, and the branch handle worked well with that approach. The CCE we see
on changed code in FindBugs will appear also in other tools used that API. To be consistent
and clean, swapInstruction must be removed entirely.
Compromise: release patch with 6.0 and remove that inconsistent API in 7.0.

> Regressions running FindBugs on BCEL6
> -------------------------------------
>
>                 Key: BCEL-273
>                 URL: https://issues.apache.org/jira/browse/BCEL-273
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Main
>    Affects Versions: 6.0
>            Reporter: Andrey Loskutov
>            Priority: Blocker
>             Fix For: 6.0
>
>         Attachments: BetterCFGBuilder2.java, bcel6_test_result.txt, invokedynamic.txt
>
>
> h5. PREFACE
> I'm trying to port FindBugs to the latest greatest BCEL 6 state from trunk, see https://github.com/findbugsproject/findbugs/issues/106.
> In short, FindBugs was using some manually created BCEL 5.2 fork which allowed us somehow
run BCEL on Java 8 and even Java 9.
> Unfortunately I have no idea how to rebuild that fork, because no one in the project
left any documentation.
> So anyway, my goal was to use unmodified BCEL6, therefore I fixed all compile issues
caused by BCEL-222 ((n)) and was able to run FB with BCEL6 head.
>  
> Unfortunately I found some regressions.
> h5. Environment
> I'm using my own git clone from BCEL mirror https://github.com/iloveeclipse/commons-bcel/commits/trunk
> The clone only adds few Eclipse files and fixes some obvious errors, nothing worth to
mention here. The reason why I'm not using svn because it is too slow and I won't waste my
time.
> To see commits I needed to port FB to BCEL6 port, go to https://github.com/findbugsproject/findbugs/tree/java9_bcel6
> h5. How to reproduce
> {code}
> git clone https://github.com/findbugsproject/findbugs.git
> cd findbugs
> git checkout java9_bcel6
> cd findbugs
> ant
> cd ../findbugsTestCases
> ant
> {code}
> You should run Java 8.
> After running tests, you should see many various errors, like: https://github.com/findbugsproject/findbugs/files/300401/bcel6_test_result.txt
> None of those error appear with the old private patched BCEL5.2 snapshot we've used before.
> It would be nice to fix the errors before the BCEL release.



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

Mime
View raw message