Dissertation/Thesis Abstract

On the test-driven development of emerging modularization mechanisms
by Setty, Rakesh B., M.S., Iowa State University, 2008, 82; 1461967
Abstract (Summary)

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.

Indexing (document details)
Advisor: Rajan, Hridesh
Commitee: Miner, Andrew S., Nguyen, Tien
School: Iowa State University
Department: Computer Science
School Location: United States -- Iowa
Source: MAI 47/04M, Masters Abstracts International
Subjects: Computer science
Keywords: Aspect-oriented programming, Deployment models, Programming languages, Ptolemy, Separate compilation
Publication Number: 1461967
ISBN: 978-1-109-78245-5
Copyright © 2020 ProQuest LLC. All rights reserved. Terms and Conditions Privacy Policy Cookie Policy