Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software

Author:

Reuling Dennis1ORCID,Kelter Udo1,Bürdek Johannes2,Lochau Malte2

Affiliation:

1. Software Engineering Group, University of Siegen, Siegen, Germany

2. Real-Time Systems Lab, TU Darmstadt, Darmstadt, Germany

Abstract

Nowadays software tends to come in many different, yet similar variants, often derived from a common code base via clone-and-own. Family-based-analysis strategies have recently shown very promising potential for improving efficiency in applying quality-assurance techniques to such variant-rich programs, as compared to variant-by-variant approaches. Unfortunately, these strategies require a single program representation superimposing all program variants in a syntactically well-formed, semantically sound, and variant-preserving manner, which is usually not available and manually hard to obtain in practice. In this article, we present a novel methodology, called S i MPOSE, for automatically generating superimpositions of existing program variants to facilitate family-based analyses of variant-rich software. To this end, we propose a novel N-way model-merging methodology to integrate the control-flow automaton (CFA) representations of N given variants of a C program into one unified CFA representation. CFA constitute a unified program abstraction used by many recent software-analysis tools for automated quality assurance. To cope with the inherent complexity of N-way model-merging, our approach (1) utilizes principles of similarity-propagation to reduce the number of potential N-way matches, and (2) enables us to decompose a set of N variants into arbitrary subsets and to incrementally derive an N-way superimposition from partial superimpositions. We apply our tool implementation of S i MPOSE to a selection of realistic C programs, frequently considered for experimental evaluation of program-analysis techniques. In particular, we investigate applicability and efficiency/effectiveness trade-offs of our approach by applying S i MPOSE in the context of family-based unit-test generation as well as model-checking as sample program-analysis techniques. Our experimental results reveal very impressive efficiency improvements by an average factor of up to 2.6 for test-generation and up to 2.4 for model-checking under stable effectiveness, as compared to variant-by-variant approaches, thus amortizing the additional effort required for merging. In addition, our results show that merging all N variants at once produces, in almost all cases, clearly more precise results than incremental step-wise 2-way merging. Finally, our comparison with major existing N-way merging techniques shows that S i MPOSE constitutes, in most cases, the best efficiency/effectiveness trade-off.

Funder

Deutsche Forschungsgemeinschaft

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference69 articles.

1. Accompanying materials for this paper. 2019. Retrieved from http://pi.informatik.uni-siegen.de/projects/variance/tosem. Accompanying materials for this paper. 2019. Retrieved from http://pi.informatik.uni-siegen.de/projects/variance/tosem.

2. A survey on model versioning approaches

3. FEATUREHOUSE: Language-independent, automated software composition

4. The Oracle Problem in Software Testing: A Survey

Cited by 8 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. RaQuN: a generic and scalable n-way model matching algorithm;Software and Systems Modeling;2022-11-21

2. Quantifying the Potential to Automate the Synchronization of Variants in Clone-and-Own;2022 IEEE International Conference on Software Maintenance and Evolution (ICSME);2022-10

3. Scalable N-Way Model Matching Using Multi-Dimensional Search Trees;2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS);2021-10

4. Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical Analysis;2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE);2021-05

5. Towards projectional editing for model-based SPLs;Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems;2020-02-05

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3