Checkers framework: Flow.merge()

0 views
Skip to first unread message

Günther Noack

unread,
Oct 20, 2009, 11:34:15 AM10/20/09
to Type annotations (JSR 308) discussions
Hello!

In the Checker framework's Flow class, I stumbled across the merge()
method, which does different things in the Checkers Flow class and
Javac's Flow class. (In Javac's flow analysis, it merges the *WhenTrue
and *WhenFalse results, whereas in Checkers, it merges annos and
annosWhenFalse.) Is this intended?

Trying to provoke an error, I was unable to come up with a test case
where merge() is actually called, the existing tests in the Checkers
framework also don't execute it. I have a suspicion that it may be
dead code.

I'm still having some trouble understanding the Flow class. Is there
any documentation available on it apart from the Javadoc?

Best regards & thanks in advance,
Günther

Mahmood Ali

unread,
Oct 26, 2009, 11:26:02 AM10/26/09
to jsr308-...@googlegroups.com
Greetings Günther,

Sorry for taking so long to reply to you.

You are correct that Flow.merge() does indeed seem to be a deadcode, or at least it hasn't been called when we run the checker on the test suite or our case studies.

Unfortunately, Flow is the least documented code.  And we are planning to rewrite it once the time permits.  For the time-being, should you have any question or request for a sample code for anything, please shoot us an email.

I also recommend looking up the Gen-Kill program analysis (usually described in most compiler references).

Regards,
Mahmood


2009/10/20 Günther Noack <gurkenlaster...@googlemail.com>
Reply all
Reply to author
Forward
0 new messages