Current Research Thrusts
VR and AR for Sustainable Software Systems
With support from an industrial partner, we are investigating how advances in Virtual Reality (VR) and Augmented Reality (AR) can help software engineers develop high-quality sustainable software. We exploring novel methods to visualize and interact with code quality attributes, such as code smells and technical debt. The ultimate goal is to provide a virtual experience to a software developer to understand code qualities holistically. This work has significant implications in the classroom. For example, we are developing novel methods to teach software design principles by demonstrating the impact on code quality when such principles are not maintained.
Grand Scale Analysis of Open Source Codes
In this project, we are analyzing open source artifacts, including both codes and design elements, to understand the general practices of software design. We are approaching this research on a large scale by analyzing big segments of codes and artifacts. Towards that goal, we have developed novel software analysis tool that can perform large-scale code analysis incrementally while storing intermediate query results to enhance performance.
Research and Scientific Software Engineering
Research and scientific software are those developed in research labs by scientists, postdocs, and grad students. It is developed under unique budgetary, schedule, and personnel constraints. This software is uniquely valuable; its codes embody advances in many research declines. Unfortunately, the current state of practices results in poorly designed research software that often fails to reach broader impacts. This research thread focuses on understanding this phenomenon, developing tools uniquely suited for the needs of scientists and researchers, and using applications of machine learning and big data analysis to predict the unique quality properties of this software.
Experimental Software Engineering in Start-ups
Startup organizations provides a unique context for software development. In this context, software is often developed with little upfront designs or explicit requirements. The software is often subject to unique and intense need for adaptation. As a result, the produced software codes suffer from design deficiencies and elevated measures of technical debt. In this thrust, we investigate this phenomenon to try to understand the software qualities. More importantly, we aim to identify the measures that are most effective in improving software quality and sustainability. This thrust involves the development of novel software quality metrics.
Omar Badreddin, Assistant Professor.
Rahad Khandoker, PhD student.
Rafael Pinto, PhD student.
Reza Sayed Mohsen, PhD student.
Rafael Pinto, Masters’ student.
Omar Masmali, PhD student.
Somdev Chatterjee, PhD student.
Maged Elaasar, Senior Software and Systems Engineer, NASA JPL.
Ricardo Castillo, Senior Process Control Engineer, Arizona Health.
Wahab Hamou-elhaj, Professor, Concordia University.
Ryan Simons, Masters’ student.
Waylon Dixon, master’s student.
Emily Bartman, Undergraduate student. (Software Engineer, Honeywell).
Gerardo Barraza, PhD student.
David Reyes, PhD student.
Swapnil S Chauhan, Master student. (Software Engineer, FedEx)
Zakia Al-Kadri, Masters’ student.
Nuba Solutions, Healthcare software provider.
NASA Jet Propulsion laboratory.
Northern Arizona Health.
IBM, Center for Advanced Studies and Collaborative Research.
Flagstaff Medical Center.