GitHub this week began offering a 1.0 version of Scientist, a Ruby library that helps developers rewrite critical code.
In a blog post, GitHub engineer Jesse Toth talked about the need to replace or rewrite part of a system and how GitHub has had many systems that scaled far beyond their original design. Eventually a large component of the application has to be redone, and Scientist was built to help test production data and behavior to ensure correctness.
"It works by creating a lightweight abstraction called an experiment around the code that is to be replaced," Toth said. "The original code -- the control -- is delegated to by the experiment abstraction, and its result is returned by the experiment. The rewritten code is added as a candidate to be tried by the experiment at execution time."