Towards automated synthesis of data mining programs
discovery community. Code synthesis is routinely used in industry to generate GUIs and for database support. In this paper we consider whether code synthesis could also be applied as a rapid prototyping method to the data mining phase of knowledge discovery. Rapid prototyping of statistical data analysis algorithms would allow experienced analysts to experiment with diierent statistical models before choosing one, but without requiring prohibitively expensive programming efforts. It would also smooth the steep learning curve often faced by novice users of data mining tools and libraries. Finally, it would accelerate dissemination of essential research results. For the synthesis task, we use a specification language that generalizes Bayesian networks, a dependency model on variables. Using decomposition methods and algorithm templates, our system transforms the network through several levels of representation into pseudo-code which can be translated into the implementation language of choice. Here, we explain the framework on a mixture of Gaussians model used in some commercial clustering tools. We show the effectiveness of our framework by generating pseudo-code for some more sophisticated algorithms from recent literature.