In Chapter 5, we describe a system we built to generate profile information for synthesized programs. Such an endeavor would undoubtedly be helped by the examination of the properties of real programs. Unfortunately, such information is in short supply.
The most famous study of the characteristics of real programs is the one performed by Donald Knuth on FORTRAN programs back in 1971 [14]. While this study was an invaluable asset to the understanding of the characteristics of actual programs, it is sorely out of date. Blindly assuming that the profiles of programs written in modern modular or object-oriented programming languages would match those of programs written in early FORTRAN seems unconscionable. The very nature of modern programming languages differs vastly from that of early FORTRAN. The advent of modular languages, object-oriented languages, functional languages, etc., has moved us ever farther afield from those beginnings. Surprisingly, though, there does not seem to be a modern equivalent to Knuth's study.
The characterization of real programs, while an important and desperately needed pursuit, is outside the scope of this work. Lacking experimental data for modeling programs, we opted instead to create a tool to study properties of interest. Perhaps a deeper study could be conducted at a future date.