Re: Program transformation in Chord?

50 views
Skip to first unread message

Mayur Naik

unread,
Oct 23, 2012, 1:01:32 PM10/23/12
to chord-...@googlegroups.com, marcandre....@gmail.com
See my answers below; others on the list may want to chime in too.
  • Support of newer Java versions
If you mean the new bytecode instructions that were introduced in Java 7 (?), then no.  Otherwise yes.
  • Support for program transformations
Chord does not work on Java source code, so source-to-source transformation is not possible.  We do have a backend which converts Java bytecode to quad code (the IR), lets you transform quad code, and then converts quad code to Jasmin (which can be converted to bytecode).  There is a separate Java bytecode instrumentation framework for dynamic analysis that is much more robust and extensively used by us.
  • Support arbitrary entry points
Yes, but we mostly work with single-entry (main) programs.  Ariel Rabkin has written a document on the jchord googlecode wiki on how to analyze programs with arbitrary entry points.
  • Multiple call graph construction algorithms
Yes. 
  • Classical interprocedural as well as IFDS/IDE analyses available
Yes.
  • Be actively maintained and have a supportive community
Our primary goal is not necessarily to have the world use Chord.  Instead, it is to facilitate developing advanced program analysis algorithms.  I use it routinely in my graduate class for assignments, and all my PhD students use it for their research.
  • Be available as free software
Yes. 
  • Preserve identifier names and locations in the IR for good error reporting
Yes, to the extent that Java bytecode allows.

Looking at your list, IBM's WALA or McGill University's Soot might be a better choice for you.

-- Mayur 

Is Chord my dream static analysis platform?

--
You received this message because you are subscribed to the Google Groups "chord-discuss" group.
To view this discussion on the web visit https://groups.google.com/d/msg/chord-discuss/-/xkWNKYHLmdIJ.
To post to this group, send email to chord-...@googlegroups.com.
To unsubscribe from this group, send email to chord-discus...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/chord-discuss?hl=en.

Reply all
Reply to author
Forward
0 new messages