On the test-driven development of emerging modularization mechanisms

Setty, Rakesh
Journal Title
Journal ISSN
Volume Title
Research Projects
Organizational Units
Computer Science
Organizational Unit
Journal Issue

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.

Aspect Oriented Programming, Deployment Models, Programming Languages, Ptolemy, Separate Compilation