Overview
We explore the concept of
static-dynamic coupling—the degree to which changes in a program’s
static modular structure imply changes to its dynamic structure. We
investigate the impact of static-dynamic coupling in a programming
language on the effort required to evolve the coarse modular structure
of programs written in that language.
We performed a series of
remodularization case studies in both Java and SubjectJ. SubjectJ is
designed to be similar to Java, but have strictly less static-dynamic
coupling. Our results include quantitative measures—time taken and
number of bugs introduced—as well as a more subjective qualitative
analysis of the remodularization process. All results point in the same
direction and suggest that static-dynamic coupling causes substantial
accidental complexity for the remodularization of Java programs.
We will be presenting a paper on this
topic at OOPSLA 2008.
People
|