Computer Science and Artificial Intelligence Laboratory

Modeling By Example

Software developers use modeling to explore design alternatives before investing in the higher costs of building the full system. Unlike constructing specific examples, constructing general models is challenging and error-prone. Modeling By Example (MBE) is a new tool designed to help programmers construct general models faster and without errors. Given an object model and an acceptable, or included, example, MBE generates near–hit and near–miss examples for the user to mark as included or not by their mental goal model. The marked examples form a training data-set from which MBE constructs the user’s general model. By generating examples dynamically to direct its own learning, MBE learns the concrete goal model with a significantly smaller training data set size than conventional instance–based learning techniques. Empirical experiments show that MBE is a practical solution for constructing simple structural models, but even with a number of optimizations to improve performance does not scale to learning complex models.

Members