Detection of Emergent Behaviour in Distributed Software Systems using Data Analysis Techniques

Date
2021-07-21
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Distributed Software Systems (DSS) and their sub-category, Multi-Agent Systems (MAS), are composed of several collaborative components working towards a common goal. Requirement engineering involves the consideration of competing needs and concerns for the proper presentation of the specification of software systems. The analysis of the Scenario-Based Specifications (SBS) has many important advantages to minimize the generation of unexpected behaviours in DSS. These behaviours are known as Emergent Behaviours (EB), and can potentially lead to irreversible, costly damages. In this thesis, we focus on analyzing the software behaviours from the SBS to detect EBs. The verification of the software behaviours in the early stages of software development can detect and prevent unwanted behaviours. In this thesis, different methodologies that aim to detect EBs are discussed. This thesis aims to provide a new automated, homogenous methodology to detect EBs based on their common cause of occurrence. Subsequently, different algorithms were proposed to detect the types of EBs, and examples were presented to explain the algorithms. With the adoption of data analysis techniques, we contribute to preventing these behaviours and ensuring system quality. To evaluate the proposed methodology based on the analysis of the SBS, we used two different approaches: (1) the conventional way by comparing the proposed methodology against related works' methodologies, (2) the dynamic analysis of system traces, which requires the simulation of the SBS to aggregate the system behaviour in runtime. Results show a higher efficiency of the proposed methodology in detecting EBs compared to similar work, which was also proven by the statistical modelling of the case studies' traces. Additionally, we verified the efficiency of the proposed methodology using sequential pattern mining techniques. This thesis contributes to the research of requirement engineering specifically and software engineering generally by providing an automated methodology to analyze the SBS as a black box. It assists the reusability of components and design sustainability. Moreover, the early identification of the cause of EBs empowers the designer and the software development team to handle these EBs and aids in decreasing the system cost.
Description
Keywords
Distributed software systems, Multi-agent systems, Emergent behaviour, Requirement engineering, Scenario-based Specifications, Message sequence charts, Sequence diagrams, Pattern mining
Citation
Slama, A. (2021). Detection of Emergent Behaviour in Distributed Software Systems using Data Analysis Techniques (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.