Notes on the Empirical Studies of Programmers, Sixth Workshop

April 25, 2009

Techniques for Exploring Program Comprehension

Deborah A. Boehm-Davis, Jean E. Fox, Brian H. Philips

Program comprehension is driven by top-down and bottom-up processes to construct a goal hierarchy for a program. Programmers rely on more than just the goal hierarchy, however.

Evaluating the Effect of Inheritance on the Maintainability of Object-Oriented Software

John Daly, Andrew Brooks, James Miller, Marc Roper, Murray Wood

3 levels of inheritance helped maintainability vs. a non-inheritance control. At five levels of inheritance, the advantage is lost and may even be reversed.

Conceptual Entropy and its Effect on Class Hierarchies

J. Dvorak

Conceptual entropy is manifested by increasing conceptual inconsistency as we travel down the hierarchy. That is, the deeper the level of the hierarchy, the greater the probability that a subclass will not consistently extend and/or specialize the concept of its superclass.

When, How and Why do Novice Programmers Reuse Code?

Christopher M. Hoadley, Marcia C. Linn, Lydia M. Mann, Michael J. Clancy

An abstract understanding of a function and a belief in the benefits of code reuse are major contributors to code reuse among novices.

Evaluating Program Representation in a Demonstrational Visual Shell

Francesmary Modugno, Albert T. Corbett, Brad A. Myers

A graphical programming-by-example system allows users to create programs with variables, loops and conditionals better than a comparable textual system.

System Structure and Design

Robert S. Rist

An object-oriented system designer must consider control flow, data flow, and class design. Design is a process of choosing a part of the system and pursuing links through one of these dimensions to generate a system structure.

Learning About the Algebraic Specification of Abstract Data Types

Judith Segal

Formal methods are hard to teach.

Adaptation of Programming Plans in Transfer Between Programming Languages: A Developmental Approach

Susan Wiedenbeck, Jean Scholtz

When learning a new programming language, programmers bring their old paradigm with them. It can take months to learn a new paradigm. Programmers are likely to hit a plateau and fail to reach the most advanced features of the new environment.

%d bloggers like this: