To link to the entire object, paste this link in email, IM or documentTo embed the entire object, paste this HTML in websiteTo link to this page, paste this link in email, IM or documentTo embed this page, paste this HTML in website

DEPENDENCE ANALYSIS FOR
DISTRIBUTED EVENT-BASED SYSTEMS
by
Daniel Popescu
A Dissertation Presented to the
FACULTY OF THE USC GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Ful llment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(COMPUTER SCIENCE)
December 2011
Copyright 2011 Daniel Popescu

In recent years, distributed event-based (DEB) systems that have been developed using message-oriented middleware platforms have become widespread. In DEB systems, a software component does not directly call other software components via explicit references, but instead implicitly invokes other software components by publishing messages. Consequently, DEB components are highly decoupled and enable highly scalable, easy-to-evolve, concurrent, distributed, heterogeneous applications. ❧ At the same time, implicit invocations render more difficult the analysis of the impact of a particular change to a system. Software engineers who perform impact analysis investigate a software system's dependencies, in order to determine how a proposed change to a component affects other components. In the absence of explicit references between DEB components, an engineer has to assume that any component in the system may potentially interact with, and thus depend on, any other component. Thus, investigating the impact of proposed changes in DEB systems becomes especially hard and time-consuming. ❧ Existing automated dependence analysis techniques inadequately facilitate impact analysis of DEB systems because the dependencies that these techniques extract are too imprecise and incomplete. Therefore, the research of this dissertation devises techniques that extract more precise dependencies with a significantly higher degree of completeness from the implementations of DEB systems. ❧ The results of this dissertation research are the identification of the specific obstacles that make dependence analysis challenging for DEB systems, and the development of two novel dependence analysis techniques, named Message Dependency Analyzer (MDA) and Rapid Message Dependency Analyzer (RMDA), that extract more precise and complete dependencies from DEB system than existing techniques. MDA and RMDA analyze the source code of a DEB system, in order to identify the types of messages each component may consume and publish, as well as how published and consumed messages depend on each other. The two techniques make different tradeoffs between speed, precision, completeness, and applicability. While MDA is aimed at extracting control-flow-based dependencies from a broad range of existing implemented DEB systems, RMDA defines a set of implementation constraints and extracts control-flow-based and data-flow-based dependencies only from DEB systems that are compliant to these constraints. RMDA's implementation constraints enable RMDA to extract significantly faster precise and complete dependencies than MDA. The dissertation evaluates the degree of precision and completeness that MDA and RMDA achieve in the analysis of existing DEB systems. Overall, the evaluation demonstrates that MDA and RMDA extract more precise and complete dependencies from DEB systems than existing techniques.

The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright. The original signature page accompanying the original submission of the work to the USC Libraries is retained by the USC Libraries and a copy of it may be obtained by authorized requesters contacting the repository e-mail address given.

DEPENDENCE ANALYSIS FOR
DISTRIBUTED EVENT-BASED SYSTEMS
by
Daniel Popescu
A Dissertation Presented to the
FACULTY OF THE USC GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Ful llment of the
Requirements for the Degree
DOCTOR OF PHILOSOPHY
(COMPUTER SCIENCE)
December 2011
Copyright 2011 Daniel Popescu