- Self-adaptive software systems
- Software maintenance and evolution
- Software Quality
- Code/model transformation
- Bio-inspired computing
Adaptation in Model-Centric Ultra-Large Software Systems
ULSS systems are complex systems to design, build, and maintain. Similar to other software systems, ULSS need to be changed with time, or else they will be obsolete. Considering the dynamic nature and complexity of ULSS, choosing the most cost-effective change strategy to maintain its longevity is not a trivial task. This research project elaborates on different change strategies and the role of model-centric adaptation approaches to ensure that ULSS can be changed in a cost-effective manner. A generic adaptation framework and a supporting evolution process help on managing the complexity of adaptive ULSS while addressing an engineering process for constructing them. Our proposed approach essentially trails two paths: (i) using models to support various stages of the ULSS lifecycle, ranging from models for specifying adaptation requirements to those that should be generated, manipulated, and managed at runtime; and (ii) considering pareto solutions, as a combination of adaptation and evolution changes, to achieve and maintain cost-effective longevity.
Software Defect Prioritization
Defect prioritization is a decision making process wherein stakeholders determine the temporal order of defects to be fixed. The goal of this project is to improve industrial software defect prioritization using artificial intelligence techniques.
Duplicate Defect Detection
The asynchronous nature of bug reporting in software development poses a problem of bug duplication whereby the same bug may be reported by different users over time. The problem of bug duplication challenges bug triagers as they have to rely on their memory or on the search capabilities of the bug tracking tool to find duplicates. Based on Information Retreival techiniques, the Duplicate Defect Detection project aims to present a list of recommended duplicate bugs in response to a user query (a bug report of interest).