I am a Ph.D. candidate in the Ph.D. program in Software Engineering. My advisor is Professor Jonathan Aldrich, Previously, I worked in the industry as a software engineer. I am interested in using software architectures, programming language type systems and program analysis techniques to specify and enforce high-level architectural intent in source code. The ultimate goal is to ensure conformance of an implementation to a runtime architecture. I was the primary participant in the following recent research projects:
Implemented semi-automated tool support for differencing and merging architectural component-and-connector views and illustrated the usefulness of the tool in case studies on real software systems;
Conducted case studies evaluating languages to specify and enforce, in code, the architectural control flow and data sharing, using annotations to indicate architectural components and connectors, ownership domains and aliasing annotations;
Re-implemented the ownership domains type system to express how data is confined within, passed among, or shared between objects using Java 1.5 annotations instead of language extensions to address some adoptability challenges;
Researched how ownership domain annotations can express and enforce design intent regarding object encapsulation and communication in object-oriented code, and help identify tightly coupled code that can benefit from refactoring;
Designed a compile-time extraction of a system's execution architecture, the Ownership Object Graph (OOG), obtained from a program with ownership domain annotations. Implemented the analysis and evaluated the approach using case studies on two real 15,000-line Java programs, one developed by object-oriented design experts and the other by undergraduates.
Ph.D. program in Software
Engineering
Institute for Software Research
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213
Email: mabiantoATcs.cmu.edu
Office: DOH 4301-C
Phone: (412) 268-1964