Regression Testing of Distributed Real-Time Embedded Systems in the Context of Model-Driven Development

Loading...
Thumbnail Image

Authors

Babaei, Majid

Date

Type

thesis

Language

eng

Keyword

Distributed Systems , Software Engineering , Regression Testing , MDE , MDD

Research Projects

Organizational Units

Journal Issue

Alternative Title

Abstract

Modern Distributed Real-Time Embedded (DRTE) systems are composed of largescale, heterogeneous networks of software systems that constitute the backbone of many applications we rely on day-to-day. DRTE systems may evolve over time due to new requirements and technology improvements. Each revision requires regression testing to ensure that existing functionality is not affected by such changes. Despite recent progress in regression testing techniques and tools, it turns out they are inadequate for testing distributed systems. As such, a typical distributed system with a few nodes can produce a large amount of (possibly out of order) traces only after a few minutes of execution. Therefore, effective replay-based regression testing for distributed systems may require efficient mechanisms for generating compact traces, as well as reordering and replaying. Model-driven Development (MDD) is a software development approach that advocates the use of models as the primary software development artifacts. Essentially, MDD leverages abstraction and automation in order to simplify design of a software system in terms of communication and activities. In this work, we provide evidence that modeling can facilitate the ordering and replay of execution traces collected from of a distributed system, and thus regression testing. Concretely, we show how the use of communicating state machines to describe a distributed system obviates the need for timestamps and can be also leveraged for significant reduction in the amount of runtime information collected at reasonable cost. As the first step of this work we present a novel trace reordering and replay technique and its tool support called MReplayer. MReplayer takes advantage of existing techniques and tools for model transformation and static analysis. MReplayer relies on access to the descriptions of the behaviours of each component for static analysis and replay. For the second step of this work, we present MRegTest, an efficient replay-based regression testing approach for distributed systems at the model level. MRegTest builds on our reordering approach and inherits from it a reduction in the number and size of traces required compared to standard, timestamp-based approaches.

Description

Citation

Publisher

License

Queen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canada
ProQuest PhD and Master's Theses International Dissemination Agreement
Intellectual Property Guidelines at Queen's University
Copying and Preserving Your Thesis
This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.
CC0 1.0 Universal

Journal

Volume

Issue

PubMed ID

External DOI

ISSN

EISSN