Giving meaning to macros

C. Mennie, C. Clarke
{"title":"Giving meaning to macros","authors":"C. Mennie, C. Clarke","doi":"10.1109/WPC.2004.1311050","DOIUrl":null,"url":null,"abstract":"With the prevalence of legacy C/C++ code, it continually becomes more important to address the issues of readability and maintainability. When considering the problems with refactoring or migrating C/C++ code we see how important a role preprocessor directives play. In part, because of these preprocessor directives it is extremely difficult to maintain our code. We outline a method of fact extraction and manipulation to create a set of transformations that remove preprocessor directives from the original source, converting them into regular C/C++ code with as few changes as possible, while maintaining readability in the code. In addition, we briefly explore some of the subtle issues that arise when migrating preprocessor directives. After discussing the general architecture of our test implementation, we look at some metrics gathered by running it on two software systems.","PeriodicalId":164866,"journal":{"name":"Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004.","volume":"69 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"16","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2004.1311050","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 16

Abstract

With the prevalence of legacy C/C++ code, it continually becomes more important to address the issues of readability and maintainability. When considering the problems with refactoring or migrating C/C++ code we see how important a role preprocessor directives play. In part, because of these preprocessor directives it is extremely difficult to maintain our code. We outline a method of fact extraction and manipulation to create a set of transformations that remove preprocessor directives from the original source, converting them into regular C/C++ code with as few changes as possible, while maintaining readability in the code. In addition, we briefly explore some of the subtle issues that arise when migrating preprocessor directives. After discussing the general architecture of our test implementation, we look at some metrics gathered by running it on two software systems.
赋予宏意义
随着遗留C/ c++代码的流行,解决可读性和可维护性问题变得越来越重要。在考虑重构或迁移C/ c++代码的问题时,我们看到预处理器指令扮演了多么重要的角色。在某种程度上,由于这些预处理器指令,维护我们的代码非常困难。我们概述了一种事实提取和操作的方法来创建一组转换,这些转换可以从原始源代码中删除预处理器指令,在保持代码可读性的同时,尽可能少地将它们转换为常规的C/ 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学术官方微信