This Article 
 Bibliographic References 
 Add to: 
Investigating Reading Techniques for Object-Oriented Framework Learning
November 2000 (vol. 26 no. 11)
pp. 1101-1118

Abstract—The empirical study described in this paper addresses software reading for construction: how application developers obtain an understanding of a software artifact for use in new system development. This study focuses on the processes that developers would engage in when learning and using object-oriented frameworks. 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 the study is 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.

[1] MacApp Programmer's Guide. Apple Computer, 1986.
[2] V. Basili and R. Reiter, Jr., “A Controlled Experiment Quantitatively Comparing Software Development Approaches,” IEEE Trans. Software Eng., vol. 7, no. 5, pp. 299-320, May 1981.
[3] V. Basili, S. Green, O. Laitenberger, F. Lanubile, F. Shull, S. Soerumgaard, and M. Zelkowitz, “The Empirical Investigation of Perspective-Based Reading,” Empirical Software Eng.: An Int'l J., vol. 1, no. 2, pp. 133-164, 1996.
[4] V. Basili, G. Caldiera, F. Lanubile, and F. Shull, “Studies on Reading Techniques,” Proc. 21st Ann. Software Eng. Workshop, pp. 59-65, Dec. 1996.
[5] D. Bäumer et al., "Framework Development for Large Systems," Comm. ACM, vol. 40, no. 10, Oct. 1997, pp. 52-59.
[6] K. Beck and R. Johnson, “Patterns Generate Architectures,” Proc. ECOOP'94, 1994.
[7] B. Kumar, C.-H. Huang, R.W. Johnson, and P. Sadayappan, “A Tensor Product Formulation of Strassen's Matrix Multiplication Algorithm with Memory Reduction,” Proc. Seventh Int'l Parallel Processing Symp., pp. 582-588, Apr. 1993.
[8] A. Sen, A. Sengupta, and S. Bandyopadhyay, "On Some Topological Properties of Hypercube, Incomplete Hypercube and Supercube," Proc. Int'l Parallel Processing Symp., pp. 636-642, 1993.
[9] J.M. Carroll, The Nurnberg Funnel: Designing Minimalist Instruction for Practical Computer Skill, MIT Press, Cambridge, Mass., 1990.
[10] M. Chi, M. Bassok, M. Lewis, P. Reimann, and R. Glaser, “Self-Explanations: How Students Study and Use Examples in Learning to Solve Problems,” Univ. of Pittsburgh, Technical Report UPITT/LRDC/ONR/KBC-9, Nov. 1987.
[11] W. Codenie, K.D. Hondt, P. Steyaert, and A. Vercammen, “From Custom Applications to Domain-Specific Frameworks,” Comm. ACM, vol. 40, no. 10, pp. 70–77, Oct. 1997.
[12] W.J. Conover, Practical Nonparametric Statistics, second ed. N.Y.: John Wiley&Sons, 1980.
[13] K. Eisenhardt, “Building Theories from Case Study Research,” Academy of Management Review, vol. 14, no. 4, pp. 532-550, 1989.
[14] E. Suh, B.K. Lee, R. Martino, B. Narahari, and A. Choudhary, “Parallel Computation of Solvent Accessible Surface Area of Protein Molecules,” Proc. Int'l Parallel Processing Symp., pp. 685-689, 1993.
[15] C. Frei and H. Schaudt, ET++ Tutorial: Eine Einführung in das Application Framework, Software Schule Schweiz, Bern, 1991.
[16] G. Froehlich, H. Hoover, L. Liu, and P. Sorenson, “Hooking into Object-Oriented Application Frameworks,” Proc. 19th Int'l Conf. Software Eng., pp. 491-501, May 1997.
[17] E. Gamma et al., Design Patterns: Elements of Object-Oriented Software, Addison-Wesley, Reading, Mass., 1994.
[18] D. Gangopadhyay and S. Mitra, “Understanding Frameworks by Exploration of Exemplars,” Proc. Seventh Int'l Workshop on CASE, pp. 90-99, July 1995.
[19] H.G. Glaser and A.L. Strauss, The Discovery of Grounded Theory: Strategies for Qualitative Research, Hawthorne, N.Y.: Aldine Publishing Company, 1967.
[20] A. Goldberg,Smalltalk-80: The Interactive Programming Environment.Reading, Mass.: Addison-Wesley, 1984.
[21] L. Hatcher and E.J. Stepanski, A Step-by-Step Approach to Using the SAS®System for Univariate and Multivariate Statistics, Cary, N.C.: SAS Inst. Inc., 1994.
[22] R.E. Johnson and B. Foote, “Designing Reusable Classes,” J. Object-Oriented Programming, vol. 1, no. 5, pp. 22-35, June/July 1988.
[23] R.E. Johnson, "Documenting Frameworks Using Patterns," Proc. OOPSLA 92, ACM Press, New York, 1994, pp. 63-76.
[24] R.R. Johnson, "Frameworks = (Components + Patterns)," Comm. ACM, Vol. 40, No. 10, 1997, pp. 39-42.
[25] C.M. Judd, E.R. Smith, and L.H. Kidder, Research Methods in Social Relations, sixth ed. Fort Worth, Texas: Holt, Rinehart and Winston, Inc., 1991.
[26] P. Koltun, L. Deimel Jr., and J. Perry, “Progress Report on the Study of Program Reading,” ACM SIGCSE Bulletin, vol. 15, pp. 168-176, Feb. 1983.
[27] O. Laitenberger and C. Atkinson, “Generalizing Perspective-Based Inspection to Handle Object-Oriented Development Artefacts,” Proc. 21st Int'l Conf. Software Eng., 1999.
[28] T. Lewis, L. Rosenstein, W. Pree, A. Weinand, E. Gamma, P. Calder, G. Andert, J. Vlissides, and K. Schmucker, Object Oriented Application Frameworks. Greenwich: Mannings Publication Co., 1995.
[29] M. Miles, “Qualitative Data As An Attractive Nuisance: The Problem of Analysis,” Administrative Science Quarterly, vol. 24, no. 4, pp. 590-601, 1979.
[30] H. Mili, H. Sahraoui, and I. Benyahia, “Representing and Querying Reusable Object Frameworks,” Proc. Symp. Software Reusability, May 1997.
[31] R. Ott, An Introduction to Statistical Methods and Data Analysis. Belmont, Calif.: Duxbury Press, 1993.
[32] W. Pree, Design Patterns for Object-Oriented Software Development, Addison-Wesley, Reading, Mass., 1994.
[33] D. Roberts and R.E. Johnson, "Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks," Pattern Languages of Program Design 3, R. Martin, D. Riehle, and F. Buschmann, eds., Addison Wesley Longman, Reading, Mass., 1998.
[34] M.B. Rosson, J.M. Carroll, and R.K.E. Bellamy, “SmallTalk Scaffolding: A Case Study of Minimalist Instruction,” Proc. CHI’90 pp. 423-429, Apr. 1990.
[35] S. Rugaber, S.B. Ornburn, and R.J. LeBlanc, Jr., “Recognizing Design Decisions in Programs,” IEEE Software, vol. 7, no. 1, pp. 46-54, Jan. 1990.
[36] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[37] H.A. Schmid, "Creating Applications from Components: A Manufacturing Framework Design," IEEE Software, Nov. 1996, pp. 67-75.
[38] D.C. Schmidt, “Applying Patterns and Frameworks to Develop Object-Oriented Communication Software,” Handbook of Programming Languages, P. Salus, ed., vol. 1, MacMillan Computer Publishing, 1997.
[39] K. Schneider and A. Repenning, “Deceived by Ease of Use: Using Paradigmatic Applications to Build Visual Design Environments,” Proc. Symp. Designing Interactive Systems, Aug. 1995.
[40] C.B. Seaman and V.R. Basili, "An Empirical Study of Communication in Code Inspections," Proc. 19th Int'l Conf. Software Eng.,Boston, May 1997.
[41] F.J. Shull, “Developing Techniques for Using Software Documents: A Series of Empirical Studies,” PhD thesis, Univ. of Maryland, College Park,, 1998.
[42] F. Shull, “Reading Techniques for Object-Oriented Frameworks,” projects/SoftEng/ESEG/manual/sbr_package manual.html.
[43] J. Singer and T.C. Lethbridge, “Methods for Studying Maintenance Activities,” Proc. First Int'l Workshop Empirical Studies of Software Maintenance, Nov. 1996.
[44] S. Sørumgård, “Verification of Process Conformance in Empirical Studies of Software Development,” PhD thesis, Norwegian Univ. of Science and Tech nology, Feb. 1997.
[45] National Aeronautics and Space Administration, Software Eng. Laboratory, Recommended Approach to Software Development, Revision 3. SEL-81-305, 1992.
[46] Taligent, Inc., The Power of Frameworks. New York: Addison-Wesley, 1995.
[47] J. Vlissides, Unidraw Tutorial I: A Simple Drawing Editor. Stanford Univ., 1991.
[48] A. von Mayrhauser and A. Vans, "Industrial experience with an integrated code comprehension model," IEE Software Engineering J., pp. 171-182, Sept. 1995.
[49] A.A. Porter, L.G. Votta, and V.R. Basili, “Comparing Detection Methods for Software Requirements Inspections: A Replicated Experiment,” IEEE Trans. Software Eng., vol. 21, no. 6, pp. 563-575, June 1995.
[50] A. Weinand, E. Gamma, and R. Marty, “Design and Implementation of ET++, a Seamless Object-Oriented Application Framework,” Structured Programming, vol. 10, no. 2, 1989.
[51] R. Yin, Case Study Research: Design and Methods, London: Sage Publications, 1994.
[52] Z. Zhang, V.R. Basili, and B. Schneiderman, Perspective-Based Usability Inspection: An Empirical Validation of Efficacy Empirical Software Eng.: An Int'l J., vol. 4, no. 1, pp. 43-69, 1999.

Index Terms:
Object-oriented frameworks, software reading, empirical study.
Forrest Shull, Filippo Lanubile, Victor R. Basili, "Investigating Reading Techniques for Object-Oriented Framework Learning," IEEE Transactions on Software Engineering, vol. 26, no. 11, pp. 1101-1118, Nov. 2000, doi:10.1109/32.881720
Usage of this product signifies your acceptance of the Terms of Use.