On the test-driven development of emerging modularization mechanisms
By: Rakesh Setty
Download PaperAbstract
Emerging modularization techniques such as aspects and their precursors such as events in implicit invocation languages aim to provide a software engineer with better facilities to separate conceptual concerns in software systems. To facilitate adoption of these techniques in real world software projects, seamless integration into well-accepted practices such as a test-driven development process is essential. To that end, the main contribution of this thesis is an analysis (both pragmatic and theoretical) of the impact of a class of such techniques on the efficiency of a test-driven development process, which involves frequently compiling and testing programs in a process commonly known as the edit-compile- test cycle. I study two variants: the popular model of aspects as in the AspectJ-like languages, and a recently suggested alternative based on quantified, typed events embodied in the Ptolemy language. I present a case study analyzing two variants of the aspect-based model on two open source projects and a theoretical analysis of the quantified, typed event-based model. My results show that a seamless adoption of the aspect-based model requires careful balancing of competing parameters to ensure efficiency of a test-driven development process, whereas a quantified, typed event-based model naturally supports separate compilation thus decreasing the time spent in the edit-compile-test cycle.
ACM Reference
Setty, R. 2008. On the test-driven development of emerging modularization mechanisms. Iowa State University.
BibTeX Reference
@mastersthesis{setty2008test,
title = {On the test-driven development of emerging modularization mechanisms},
author = {Setty, Rakesh},
year = {2008},
school = {Iowa State University},
abstract = {
Emerging modularization techniques such as aspects and their precursors such as
events in implicit invocation languages aim to provide a software engineer with
better facilities to separate conceptual concerns in software systems. To
facilitate adoption of these techniques in real world software projects,
seamless integration into well-accepted practices such as a test-driven
development process is essential. To that end, the main contribution of this
thesis is an analysis (both pragmatic and theoretical) of the impact of a class
of such techniques on the efficiency of a test-driven development process, which
involves frequently compiling and testing programs in a process commonly known
as the edit-compile- test cycle. I study two variants: the popular model of
aspects as in the AspectJ-like languages, and a recently suggested alternative
based on quantified, typed events embodied in the Ptolemy language. I present a
case study analyzing two variants of the aspect-based model on two open source
projects and a theoretical analysis of the quantified, typed event-based model.
My results show that a seamless adoption of the aspect-based model requires
careful balancing of competing parameters to ensure efficiency of a test-driven
development process, whereas a quantified, typed event-based model naturally
supports separate compilation thus decreasing the time spent in the
edit-compile-test cycle.
}
}