Machine Learning and SE

Keywords

Software Engineering, Artificial Intelligence, Software Architecture, Machine Learning, Self-adaptation, Deep learning, Reinforcement Learning, self-learning architectures, SA4ML, ML4SA

Objective

The objective of the research area is two-fold: i) Use a combination of machine learning techniques to enable software systems to overcome any runtime uncertainties (such as dynamic resource demands/resource constraints, failures, performance bottlenecks, etc.) through self-adaptation mechanisms.; ii) Develop software engineering/architecting practices for better development of ML-enabled systems by addressing key concerns like data quality, model versioning, team collaboration, self-adaptation, etc

Description

Modern  software systems generates tremendous amount of data but face different architectural challenges arising from various concerns such as reliability, security, availability, resource constraints, etc. Some of those challenges can be solved using AI and on the other hand, we have AI systems that thrive on data but require better architecting practices to handle challenges associated to data quality, model versioning, model deployment, etc.. This combination of challenges in the field of Software architecture and AI has resulted in two broad research areas: i) Software architecture for AI systems. It primarily focuses on developing architectural techniques for better development of AI systems; ii) AI for Software architectures, which focuses on developing AI techniques to better architect software systems. This line of research focuses on addressing these two broad research challenges. This is accomplished by: i) by identifying the challenges and solutions for coming up with best practices for architecting AI in particular ML-enabled systems and; ii) By using a combination of deep learning and reinforcement learning techniques combined with quantitative verification mechanisms to enable software to continuously adapt and improve their architectures in runtime. The research is further applied to domains such as  Microservice based systems, CPS (IoT, Robotics, etc).  Detailed description of three focus areas are provided below.

Focus Areas

Selected Publications