Get the Flash Player to see this player.
Genetic Programming meets TDD
Larry DiehlOther formats
The themes of automatic and genetic programming will be explored in context of the Ruby programming language. First automatic discovery of Ruby's syntax using its internal abstract syntax tree and a genetic algorithm will be explained. Simple analysis of object oriented structure can be performed by using a semantic lexicon (ie: WordNet) and traversing the inheritance hierarchies of Ruby classes and mixed in modules. By feeding in code snippets of certain patterns as training data to a pattern finding algorithm, existing open source projects can be searched and have results returned in the form of similar real world examples. These include basic patterns like method definition, and more advanced 'design patterns'. Finally, the talk will culminate in a new programming workflow using genetic programming that involves the previously described topics. This workflow is a step forward from Test Driven Development / Refactoring, where tests/specifications are dictated in a description/behavior style (a la BDD) and contracts between interacting code/classes are specified, but the code is interactively evolved instead of hand-written.
Videos are in h.264 quicktime format. We recommend Miro for viewing these files.
Back to Conference Schedule
Presenters retain full rights to the content of their presentations, and have released them under the Creative Commons Attribution-ShareAlike license.
