|
ABSTRACT
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. This paper investigates 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
Eduardo Casais. Automatic reorganization of object-oriented hierarchies: A case study. Object-Oriented Systems, 1(2):95--115, December 1994.
|
| |
5
|
|
| |
6
|
Rick Chern. Reducing remodularization complexity through modular-objective decoupling (in progress). Master's thesis, The University of British Columbia, 2008.
|
 |
7
|
Curtis Clifton , Gary T. Leavens , Craig Chambers , Todd Millstein, MultiJava: modular open classes and symmetric multiple dispatch for Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.130-145, October 2000, Minneapolis, Minnesota, United States
|
| |
8
|
Linda G. Demichiel. Overview: The Common Lisp Object System. Lisp and Symbolic Computation, 1(2):227--244, September 1988.
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
William Harrison , Harold Ossher, Subject-oriented programming: a critique of pure objects, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.411-428, September 26-October 01, 1993, Washington, D.C., United States
|
| |
18
|
William H. Harrison, Harold Ossher, and Peri L. Tarr. General composition of software artifacts. In Welf Lowe and Mario Sudholt, editors, Software Composition, volume 4089 of Lecture Notes in Computer Science, pages 194--210. Springer, 2006.
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
Kabir Khan, Bill Burke, Flavia Rainone, Staale Pedersen, Marc Fleury, Adrian Brock, Claude Hussenet, and Marshall Culpepper. JBoss AOP. http://labs.jboss.com/jbossaop/.
|
| |
23
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
24
|
|
 |
25
|
|
 |
26
|
|
 |
27
|
Ivan Moore, Automatic inheritance hierarchy restructuring and method refactoring, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.235-250, October 06-10, 1996, San Jose, California, United States
|
 |
28
|
Harold Ossher , Matthew Kaplan , William Harrison , Alexander Katz , Vincent Kruskal, Subject-oriented composition rules, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.235-250, October 15-19, 1995, Austin, Texas, United States
|
| |
29
|
|
| |
30
|
|
| |
31
|
P. Tarr and H. Ossher. Hyper/J user and installation manual. Technical report, IBM T. J. Watson Research Center, 2000.
|
 |
32
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
| |
33
|
Frank Tip. Refactoring using type constraints. In Hanne Riis Nielson and Gilberto File, editors, SAS, volume 4634 of Lecture Notes in Computer Science, pages 1--17. Springer, 2007.
|
| |
34
|
|
| |
35
|
Mark Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352--357, July 1984.
|
|