giraph-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eugene Koontz <ekoo...@hiro-tan.org>
Subject Re: Introducing Graft: A debugging and testing tool for Giraph algorithms
Date Thu, 05 Jun 2014 15:38:59 GMT
Interesting; thanks Semih! I will try Graft out over the weekend.



> On Jun 4, 2014, at 11:00 AM, Semih Salihoglu <semih@stanford.edu> wrote:
> 
> Hi Giraph Users,
> 
> I wanted to introduce to you Graft, a project that some of us at Stanford have built
over the last quarter. If you are a Giraph user, who ran into an annoying bug in which the
code was throwing an exception or resulting in incorrect looking messages or vertex values
(e.g. NaNs or NullPointerExceptions) and you had put in println statements into your compute()
functions, and then inspect logs of Hadoop workers for debugging purposes, you should read
on. You might find Graft very useful.
> 
> In a nutshell, Graft is based on the idea of capturing the contexts under which a bug
becomes noticeable (an exception is thrown or an incorrect message is sent, or a vertex is
assigned an incorrect value) programmatically. The captured contexts can then be visualized
through a GUI. The contexts that a user thinks could be helpful for catching the bug can then
be reproduced in a compilable program and the user can then use his/her favorite IDE's debugger
to do step-by-step debugging into the context. For example, when a vertex v throws an exception,
the user can reproduce the context under which v throws the exception and then use (say) Eclipse
to do step-by-step debugging to see exactly what lines were executed that resulted in the
exception being thrown.
> 
> On the testing side, Graft makes it easier to generate unit and end-to-end tests by letting
users curate small graphs through its GUI's testing mode, and then generates code snippets
which can be copied and pasted into a JUnit test. 
> 
> The project is still under development but interested users can start using it. We have
a wiki with documentation and instructions on how to install and use Graft: https://github.com/semihsalihoglu/graft/wiki.
Since the project is under development, we'd highly appreciate users to start using it and
giving us direction on how to make it more useful. Our emails are on the documentation page.
We also encourage interested developers to contribute to it if there are requested features
that we don't get to very quickly. 
> 
> Just a small note: Graft works for the Giraph at trunk: https://github.com/apache/giraph/tree/trunk.
We do not support earlier version. In particular your programs need to be written by extending
Computation and optionally the Master class, instead of the older Vertex class.
> 
> Best,
> 
> semih

Mime
View raw message