一句话:提出多粒度静态冲突与依赖分析算法,高效计算二元、粗粒度与细粒度结果。
图变换的冲突与依赖分析(CDA)是理解软件分析与设计、模型驱动工程、测试等领域交互的通用基础。本文提出一种多粒度静态 CDA 技术,可在多个粒度上检测全部冲突与依赖,并给出高效算法套件:二元粒度表示冲突/依赖是否存在,粗粒度聚焦其根本原因,细粒度展示每条冲突/依赖的完整细节。该方法回应文献调研中发现的性能与可用性需求。实验评估表明算法套件能快速计算冲突与依赖;用户研究中,参与者认为粗粒度结果比当前先进工具的细粒度结果更易理解。总体贡献包括显著加速细粒度与二元 CDA,并以粗粒度结果补充,为多种用例带来可用性收益。
Conflict and dependency analysis (CDA) of graph transformation has been shown to be a versatile foundation for understanding interactions in many software engineering domains, including software analysis and design, model-driven engineering, and testing. In this paper, we propose a novel static CDA technique that is multi-granular in the sense that it can detect all conflicts and dependencies on multiple granularity levels. Specifically, we provide an efficient algorithm suite for computing binary, coarse-grained, and fine-grained conflicts and dependencies: Binary granularity indicates the presence or absence of conflicts and dependencies, coarse granularity focuses on root causes for conflicts and dependencies, and fine granularity shows each conflict and dependency in full detail. Doing so, we can address specific performance and usability requirements that we identified in a literature survey of CDA usage scenarios. In an experimental evaluation, our algorithm suite computes conflicts and dependencies rapidly. Finally, we present a user study, in which the participants found our coarse-grained results more understandable than the fine-grained ones reported in a state-of-the-art tool. Our overall contribution is twofold: (i) we significantly speed up the computation of fine-grained and binary CDA results and, (ii) complement them with coarse-grained ones, which offer usability benefits for numerous use cases.
DOI 原文 ·
@inproceedings{paperbot4403,
title = {Multi-granular conflict and dependency analysis in software engineering based on graph transformation},
author = {Leen Lambers and Daniel Strüber and Gabriele Taentzer and Kristopher Born and Jevgenij Huebert},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180258}
}