Abstract
Context: Dynamic analysis is typically concerned with the analysis of system functional aspects at run time. However, less work has been devoted to the dynamic analysis of software quality attributes. The recovery of availability scenarios from system execution traces is particularly important for critical systems to verify that the running implementation supports and complies with availability requirements, especially if the source code is not available (e.g., in legacy systems) and after the system has undergone several ad-hoc maintenance tasks. Objective: Propose a dynamic analysis approach, along with tool support, to recover availability scenarios, from system execution traces running high availability features. Method: Native execution traces, collected from systems running high availability features, are pre-processed, filtered, merged, and segmented into execution phases. The segmented scenarios are then visualized, at a high level of abstraction, using the ITU-T standard Use Case Maps (UCM) language extended with availability annotations. Results: The applicability of our proposed approach has been demonstrated by implementing it as a prototype feature within the jUCMNav tool and by applying it to four real-world systems running high availability features. Furthermore, we have conducted an empirical study to prove that resulting UCM models improve the understandability of log files that contain high availability features. Conclusion: We have proposed a framework to filter, merge, segment, and visualize native log traces. The framework presents the following benefits: (1) it offers analysts the flexibility to specify what to include/exclude from an execution trace, (2) it provides a log segmentation method based on the type of information reported in the execution trace, (3) it uses the UCM language to visually describe availability scenarios at a high level of abstraction, and (4) it offers a scalable solution for the visualization problem through the use of the UCM stub-plug-in concept.
Original language | English |
---|---|
Pages (from-to) | 78-93 |
Number of pages | 16 |
Journal | Information and Software Technology |
Volume | 96 |
DOIs | |
State | Published - Apr 2018 |
Bibliographical note
Publisher Copyright:© 2017 Elsevier B.V.
Keywords
- Availability
- Dynamic analysis
- Log filtering
- Log segmentation
- Non-functional requirements
- Use case maps
ASJC Scopus subject areas
- Software
- Information Systems
- Computer Science Applications