giraph-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Avery Ching <>
Subject Re: Introducing Graft: A debugging and testing tool for Giraph algorithms
Date Wed, 04 Jun 2014 19:20:55 GMT
I'm seen this work demoed.  It's awesome, especially for applications 
that are not very predictable.


On 6/4/14, 11:00 AM, Semih Salihoglu 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: 
> 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: 
> 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

View raw message