On the test-driven development of emerging modularization mechanisms
Date
Authors
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Altmetrics
Authors
Research Projects
Organizational Units
Journal Issue
Is Version Of
Versions
Series
Department
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.