Projects of the Experimental Software Engineering Group at the University of Maryland

Reading Techniques for Framework Learning


Our approach is to generate families of reading techniques which depend on how an application is created using the framework. Each technique within the family is: tailored to the specific framework available, detailed in that it provides specific steps to be performed, focused on a particular coverage of the framework design and implementation.
We study reading techniques by running empirical studies in artificial and real development contexts, to study the characteristics of the development process and the factors that make each reading technique more or less applicable to a given situation. A pattern of knowledge is then built from a series of experiments.
As a first step toward developing reading techniques for framework understanding, we investigated two reading techniques for using a white-box framework to build new applications: a Hierarchy-Based (HB) reading technique and an Example-Based (EB) reading technique. Both techniques look at the static structure and the run-time behavior of the framework, and both have access to the same sources of information. The main differences is the focus of the learning process: the HB technique uses the hierarchy of reusable classes as the basic model of the framework, while the EB technique uses a set of example applications.

Validation Strategy

To compare these two techniques we undertook a blocked subject-project experiment, in the CMSC 435 course at University of Maryland, in which we presented graduate and upper-level undergraduate students with an application task to be incrementally developed using the GUI application framework ET++. One half of the class was taught the HB reading technique and the other half the EB technique. Quantitative and qualitative data from the 2 groups was then analyzed and compared.

Project Status




So far, two different reading techniques have been defined: a Hierarchy-Based (HB) reading technique and an Example-Based (EB) reading technique. With the HB technique, programmers attempt to gain a broad knowledge of the framework design. As a consequence, they deliver the functionality required by the new application mainly by specializing the abstract classes of the framework. With the EB technique, programmers use existing framework-based applications (examples) and attempt to gain a specialized knowledge of the parts which are directly relevant for the required system. As a consequence, they deliver the functionality required by the new application mainly by changing the concrete classes of the examples.


We analyzed 15 student software development projects using both qualitative and quantitative methods to gain insight into what processes occurred during framework usage. The contribution of this study was not to test predefined hypotheses but to generate well-supported hypotheses for further investigation. The main hypotheses we produce are that example-based techniques are well suited to use by beginning learners while hierarchy-based techniques are not because of a larger learning curve. Other more specific hypotheses are proposed and discussed in the technical report.

Top Level Page

<-Back to ESEG Home Page

Last updated: January 13, 2000 by Forrest Shull