Cited by 85Software Engineering ResearchAdvanced Software Engineering MethodologiesSoftware System Performance and Reliability

Detecting, Tracing, and Monitoring Architectural Tactics in Code

Mirakhorli, Mehdi, Cleland-Huang, Jane·2016·IEEE Transactions on Software Engineering

Abstract

Software architectures are often constructed through a series of design decisions. In particular, architectural tactics are selected to satisfy specific quality concerns such as reliability, performance, and security. However, the knowledge of these tactical decisions is often lost, resulting in a gradual degradation of architectural quality as developers modify the code without fully understanding the underlying architectural decisions. In this paper we present a machine learning approach for discovering and visualizing architectural tactics in code, mapping these code segments to tactic traceability patterns, and monitoring sensitive areas of the code for modification events in order to provide users with up-to-date information about underlying architectural concerns. Our approach utilizes a customized classifier which is trained using code extracted from fifty performance-centric and safety-critical open source software systems. Its performance is compared against seven off-the-shelf classifiers. In a controlled experiment all classifiers performed well; however our tactic detector outperformed the other classifiers when used within the larger context of the Hadoop Distributed File System. We further demonstrate the viability of our approach for using the automatically detected tactics to generate viable and informative messages in a simulation of maintenance events mined from Hadoop's change management system.

Integrity signals

Registry

Crossref · 10.1109/tse.2015.2479217

Cites

64 of 64 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Architecture monitoring aims to quantify health status of software systems continuously and evaluate whether symptoms of architecture problems crept into a system.

    “Architecture monitoring aims to quantify the health status of software systems in a continuous way, and evaluate whether the symptoms of architecture problems crept into a system [65].”

Cites

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Mirakhorli, M., & Cleland-Huang, J.
Affiliations
Rochester Institute of Technology (US)
Venue
IEEE Transactions on Software Engineering
Published
2016-03-01
Volume
42
Issue
3
Pages
205-220
ISSN
  • 0098-5589 (ISSN-L)
  • 1939-3520
OpenAlex
W2296164881
Cited by
85
References
64
Citations by year
2026: 3 · 2025: 3 · 2024: 4 · 2023: 11 · 2022: 8 · 2021: 12 · 2020: 9 · 2019: 8 · 2018: 12 · 2017: 8 · 2016: 6 · 2015: 1
FWCI
24.27
Type
journal article
Language
en
Open access
closed
Locations
IEEE Transactions on Software Engineering (publishedVersion)
Funders
  • US National Science Foundation (CCF-0810924)
  • Research Experience for Undergraduates (CCF 1341072)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
  • Physical Sciences › Computer Science › Computer Networks and Communications › Software System Performance and Reliability
Keywords
architectural tactics, software architecture, code classification, architectural quality, software maintenance, change management, HDFS, safety-critical software

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review