Research Area – Software Engineering

Our software engineering group works on development and maintenance of software, with the overall goal of creating high-quality software. To achieve this goal, we perform research in software testing, program analysis, program understanding, modeling and design, failure analysis, fault localization, debugging, remote monitoring, human and social aspects of software engineering, and software engineering education.

Faculty members include professors Mayur NaikAlessandro Orso and Spencer Rugaber, as well as about 15 graduate students and several visiting researchers.

Dr. Naik's research focuses on algorithms and systems for improving programmer productivity and software quality in a broad sense, encompassing reliability, security, performance, scalability, and energy efficiency.  His current projects address these issues in the context of modern computing platforms, including parallel, mobile, and cloud computing.

Dr. Orso’s research focuses on software testing, static and dynamic program analysis, and analysis-based security. He develops techniques and tools for improving software reliability, security and trustworthiness, as well as the validation of such techniques on real systems. His current projects target testing and analysis of software after deployment, testing of evolving software systems, and security and reliability of web applications.

Dr. Rugaber’s examines the understandability of computer programs and factors that determine that understandability. These include human factors, sources of complexity, abstraction and modeling.  His current projects are studying the adaptability of computer game software, automatic generation of infrastructural components for simulation software, and the development of conceptual and technical tools to assist middle school students in understanding complex scientific systems.

Coordinator: Mayur Naik