Greater Philadelphia
Software engineer and architect with a Ph.D. in Computer Science and 20+ years of experience designing, implementing, and maintaining large-scale software systems. Proven track record of translating complex research into production-quality tools—from commercial static and dynamic analysis products to open-source modeling environments used across the aerospace and defense industries. Expert in program analysis, API and framework design, and model-based systems engineering, with a strong ability to both architect solutions and drive them through to implementation. Comfortable working across the full language hierarchy from bytecode instrumentation to high-level language semantics.
Advanced the adoption of model-based engineering in the aerospace and defense industries. - Designed and implemented the model analysis framework for OSATE, the open-source Eclipse-based AADL environment, contributing client-requested features to quarterly releases. - Led multi-year project to automate fault tree generation from AADL models, delivering an OSATE plug-in and publishing a CMU SEI technical report describing the underlying mathematical formulation. - Led the development of an experimental Digital Thread execution environment for SysMLv2; results published in IEEE SysCon 2025. - Developed a Bell–LaPadula security model for AADL; published as a CMU SEI technical report. - Produced an online CMU SEI tutorial describing the SEI-developed Symbolic Assurance Refinement model verification process; delivered at International Conference on Conceptual Modeling (ER 2024).
Managed computing infrastructure.
Transitioned university software analysis research into commercial software analysis tools. - Designed and implemented new program analysis algorithms for JSure, a sound static analysis tool for Java concurrency and lock correctness. - Designed and implemented the ASM-based Java bytecode instrumentation engine for Flashlight, a dynamic analysis tool for understanding thread behavior. (Surelogic, Inc. closed in April 2016)
Advocated for the use of the newly standardized AADL to assure system behavior during the development of real-time and embedded systems in the aerospace and automotive industries. - Implemented foundational AADL features in OSATE, establishing it as the operational reference standard for the language. - Developed novel architecture analyses for data security and incorporated them into OSATE tutorials delivered to international aerospace audiences. - Contributed to the validation and evolution of the AADL standard.
The research agenda of the Fluid group led by Dr. William Scherlis is to develop program analysis techniques to assure program safety with respect to programmer-declared design intent. For example, assurance that pointers are unaliased, or that locks are acquired before accessing shared state. A dominant design consideration is that our techniques be adoptable at scale by practicing programmers. In addition to completing my dissertation research, I also * Designed and implemented two generations of a Model–View–Controller framework in Java enabling fine-grained control over the display of complex data structures based on ternary (identifier–attribute–value) representations. * Contributed to the design, implementation, and maintenance of a 160kLOC Java application for program analysis and source code manipulation. * Mentored and managed the project’s junior graduate students and undergraduate researchers.