Friday, January 22, 2010

Diver tutorial videos available



Reverse engineering tools have traditionally suffered from a tremendous lack of adoption. There are likely several reasons for this. One is that they tend to come out of academia, and they never really get past the prototype stage. That is a shame because a lot of the ideas that have been proposed are really good ones. Another reason that they aren't often adopted is because it can be difficult to understand how to use them. The tools can be very cumbersome or they aren't very well documented.

I've tried to overcome both of these issues with Diver so that people will be able to see its use and it can be widely adopted. I have to say, my motivations aren't entirely altruistic: I do have to get my thesis done :-).

I've written a lot of in-depth documentation for Diver. But, let's be honest, I'm not even interested in reading all of those pages of documentation. So, for those of us with a shorter attention span, I've published several tutorial videos to get you started.


By the way, I made these tutorials using Wink. I highly recommend it for anyone who has to make a tutorial of their software. It's very easy to use and it gives you pretty well all the features that you could ask for. I searched for free screen capture software for a long while. This is the best that I could come by. If you've got any other suggestions, let me know.

4 comments:

  1. Tried to install. Works. Tried to launch Eclipse application, - got this:

    java.sql.SQLException: Unexpected token AFTER, requires ON in statement [CREATE TRIGGER XDKO-TRACE_1264205863092 AFTER]
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(jdbcStatement.java:1587)
    at org.hsqldb.jdbc.jdbcStatement.execute(jdbcStatement.java:628)
    at ca.uvic.chisel.javasketch.data.internal.DataUtils.createTrigger(DataUtils.java:269)
    at ca.uvic.chisel.javasketch.data.internal.DataUtils.prepareDB(DataUtils.java:254)
    at ca.uvic.chisel.javasketch.persistence.internal.PersistTraceJob.initializeData(PersistTraceJob.java:358)
    at ca.uvic.chisel.javasketch.persistence.internal.PersistTraceJob.run(PersistTraceJob.java:248)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

    Thanks,
    Alex.

    ReplyDelete
  2. Thanks, Alex. Sorry for the late reply. Do you think that you could file a bug for this? I want to get as much community involvement as possible. You can file the bug on our Trac system:

    http://sourceforge.net/apps/trac/diver/

    In the meantime, the bug looks related to this one: https://sourceforge.net/tracker/?func=detail&aid=2903634&group_id=275749&atid=1171450

    The fix is in SVN. For now, try renaming your launch configuration to "XDKO TRACE" rather than "XDKO-TRACE". There was a problem with illegal characters getting inserted into the database. The fix should be out in the next release, but this workaround should be good for now.

    ReplyDelete
  3. Hi,

    This plugin looks amazing.. Thanks for the info. Bujt i have a problem in integrating this with a we application (java). Could you please give details how can i integrate with we app and run or in debug mode.

    Thanks,
    Pradeep

    ReplyDelete
  4. Hi Alex and Del

    I'm getting the below error when I try to check the trace data using eclipse diver tool.

    java.sql.SQLException: Table already exists: METHOD in statement [ALTER TABLE MethodTemp RENAME TO Method]
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcStatement.fetchResult(jdbcStatement.java:1587)
    at org.hsqldb.jdbc.jdbcStatement.execute(jdbcStatement.java:628)
    at ca.uvic.chisel.javasketch.data.internal.WriteDataUtils.storeViews(WriteDataUtils.java:230)
    at ca.uvic.chisel.javasketch.persistence.internal.PersistTraceJob.run(PersistTraceJob.java:381)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

    Please let me know If you guys got the resolution for the same.

    Thanks
    -SD

    ReplyDelete