Computer Science Techniques for Data Synthesis