Fixing Configuration Inconsistencies across File Type Boundaries

Christoph Elsner, D. Lohmann, Wolfgang Schröder-Preikschat
{"title":"Fixing Configuration Inconsistencies across File Type Boundaries","authors":"Christoph Elsner, D. Lohmann, Wolfgang Schröder-Preikschat","doi":"10.1109/SEAA.2011.26","DOIUrl":null,"url":null,"abstract":"Creating a valid software configuration often involves multiple configuration file types, such as feature models, domain-specific languages, or C header files with preprocessor defines. Enforcing constraints across file types boundaries already at configuration is necessary to prevent inconsistencies, which otherwise are costly to discover and resolve later on. We present a pragmatic framework to specify and apply inconsistency-resolving fixes on configuration files of arbitrary types. The framework converts each configuration file to a model, checks it for consistency, applies fixes, and serializes it back again. We argue that conventionally programmed fixes and round-trip mechanisms (i.e., converters and serializers) are indispensable for practical applicability and can provide sufficient reliability when following usual development practices. We have developed round-trip mechanisms for seven different configuration file types and two fixing mechanisms. One fixing mechanism extends previous work by combining automatic detection of correct fix locations with a marker mechanism that reduces the number of locations. A tool-supported process for applying the fixes provides user guidance and integrates additional semantic validity checks on serialized configuration files of complex types (e.g., feature models). Evaluations reveal a speed up in inconsistency fixing and that the performance of the currently integrated round-tripping and fixing mechanisms is competitive.","PeriodicalId":107972,"journal":{"name":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","volume":"14 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEAA.2011.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Creating a valid software configuration often involves multiple configuration file types, such as feature models, domain-specific languages, or C header files with preprocessor defines. Enforcing constraints across file types boundaries already at configuration is necessary to prevent inconsistencies, which otherwise are costly to discover and resolve later on. We present a pragmatic framework to specify and apply inconsistency-resolving fixes on configuration files of arbitrary types. The framework converts each configuration file to a model, checks it for consistency, applies fixes, and serializes it back again. We argue that conventionally programmed fixes and round-trip mechanisms (i.e., converters and serializers) are indispensable for practical applicability and can provide sufficient reliability when following usual development practices. We have developed round-trip mechanisms for seven different configuration file types and two fixing mechanisms. One fixing mechanism extends previous work by combining automatic detection of correct fix locations with a marker mechanism that reduces the number of locations. A tool-supported process for applying the fixes provides user guidance and integrates additional semantic validity checks on serialized configuration files of complex types (e.g., feature models). Evaluations reveal a speed up in inconsistency fixing and that the performance of the currently integrated round-tripping and fixing mechanisms is competitive.
修复跨文件类型边界的配置不一致
创建有效的软件配置通常涉及多种配置文件类型,例如特性模型、特定于领域的语言或带有预处理器定义的C头文件。在配置中跨文件类型边界强制约束是必要的,以防止不一致,否则以后发现和解决不一致的成本很高。我们提出了一个实用的框架来指定和应用任意类型的配置文件的不一致解决修复。框架将每个配置文件转换为模型,检查其一致性,应用修复,并再次将其序列化。我们认为,常规编程的修复和往返机制(例如,转换器和序列化器)对于实际的适用性是必不可少的,并且在遵循通常的开发实践时可以提供足够的可靠性。我们已经为七种不同的配置文件类型和两种修复机制开发了往返机制。一种固定机制通过将正确固定位置的自动检测与减少位置数量的标记机制相结合,扩展了以前的工作。工具支持的应用修复的过程提供了用户指导,并集成了对复杂类型(例如,特征模型)的序列化配置文件的额外语义有效性检查。评估揭示了不一致修复的速度,并且当前集成的往返和修复机制的性能具有竞争力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信