首页 > 最新文献

Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)最新文献

英文 中文
Preparing measurements of legacy software for predicting operational faults 准备对遗留软件进行测量,以预测操作故障
T. Khoshgoftaar, E. B. Allen, Xiaojin Yuan, W. Jones, J. Hudepohl
Software quality modeling can be used by a software maintenance project to identify a limited set of software modules that probably need improvement. A model's goal is to recommend a set of modules to receive special treatment. The purpose of the paper is to report our experiences modeling software quality with classification trees, including necessary preprocessing of data. We conducted a case study on two releases of a very large legacy telecommunications system. A module was considered fault-prone if any faults were discovered by customers, and not fault-prone otherwise. Software product, process, and execution metrics were the basis for predictors. The TREEDISC algorithm for building classification trees was investigated, because it emphasizes statistical significance. Numeric data, such as software metrics, are not suitable for TREEDISC. Consequently, we transformed measurements into discrete ordinal predictors by grouping. This case study investigated the sensitivity of modeling results to various groupings. We found that robustness, accuracy, and parsimony of the models were influenced by the maximum number of groups. Models based on two sets of candidate predictors had similar sensitivity.
软件维护项目可以使用软件质量建模来识别可能需要改进的有限软件模块集。模型的目标是推荐一组接受特殊处理的模块。本文的目的是报告我们用分类树建模软件质量的经验,包括必要的数据预处理。我们对一个非常大的遗留电信系统的两个版本进行了案例研究。如果客户发现了任何故障,则认为模块容易发生故障,否则认为模块不容易发生故障。软件产品、过程和执行度量是预测者的基础。研究了建立分类树的TREEDISC算法,因为它强调统计显著性。数值数据,如软件度量,不适合TREEDISC。因此,我们通过分组将测量转换为离散有序预测因子。本案例研究调查了建模结果对不同分组的敏感性。我们发现模型的稳健性、准确性和简洁性受到最大组数的影响。基于两组候选预测因子的模型具有相似的敏感性。
{"title":"Preparing measurements of legacy software for predicting operational faults","authors":"T. Khoshgoftaar, E. B. Allen, Xiaojin Yuan, W. Jones, J. Hudepohl","doi":"10.1109/ICSM.1999.792634","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792634","url":null,"abstract":"Software quality modeling can be used by a software maintenance project to identify a limited set of software modules that probably need improvement. A model's goal is to recommend a set of modules to receive special treatment. The purpose of the paper is to report our experiences modeling software quality with classification trees, including necessary preprocessing of data. We conducted a case study on two releases of a very large legacy telecommunications system. A module was considered fault-prone if any faults were discovered by customers, and not fault-prone otherwise. Software product, process, and execution metrics were the basis for predictors. The TREEDISC algorithm for building classification trees was investigated, because it emphasizes statistical significance. Numeric data, such as software metrics, are not suitable for TREEDISC. Consequently, we transformed measurements into discrete ordinal predictors by grouping. This case study investigated the sensitivity of modeling results to various groupings. We found that robustness, accuracy, and parsimony of the models were influenced by the maximum number of groups. Models based on two sets of candidate predictors had similar sensitivity.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131252172","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Reverse compilation of digital signal processor assembler source to ANSI-C 反向编译的数字信号处理器汇编源码到ANSI-C
A. Johnstone, E. Scott, Tim Womack
Digital signal processors (DSPs) are special purpose microprocessors optimised for embedded applications that require high arithmetic rates. These devices are often difficult to compile for; compared to modern general purpose processors, DSPs often have very small address spaces. In addition they contain unusual hardware features and they require correct scheduling of operands against pipeline registers to extract the highest levels of available performance. As a result, high level language compilers for these devices generate poor quality code, and are rarely used in practice. Recently, new generation processors have been launched that are very hard to program by hand in assembler because of the complexity of their internal pipelines and arithmetic structures. DSP users are therefore having to migrate to using high level language compilers since this is the only practical development environment. However, there exist large quantities of legacy code written in assembler which represent a significant investment to the user who would like to be able to deploy core algorithms on the new processors without having to re-code from scratch. The article discusses the development and use of a tool to automatically reverse-compile assembler source for the ADSP-21xx family of DSPs to ANSI-C. We include a discussion of the architectural features of the ADSP-21xx processors and the ways in which they assist the translation process. We also identify a series of translation challenges which, in the limit, can only be handled with manual intervention and give some statistics for the frequency with which these pathological cases appear in real applications.
数字信号处理器(dsp)是为需要高算术速率的嵌入式应用而优化的专用微处理器。这些设备通常很难编译;与现代通用处理器相比,dsp通常具有非常小的地址空间。此外,它们包含不寻常的硬件特性,并且需要根据管道寄存器对操作数进行正确的调度,以提取最高级别的可用性能。因此,这些设备的高级语言编译器生成的代码质量很差,在实践中很少使用。近年来,新一代处理器由于其内部管道和算术结构的复杂性,很难用汇编器手工编程。因此,DSP用户必须迁移到使用高级语言编译器,因为这是唯一实用的开发环境。然而,存在大量用汇编程序编写的遗留代码,对于希望能够在新处理器上部署核心算法而不必从头开始重新编码的用户来说,这是一笔巨大的投资。本文讨论了ADSP-21xx系列dsp自动反编译成ANSI-C汇编程序源的工具的开发和使用。我们还讨论了ADSP-21xx处理器的架构特性以及它们协助转换过程的方式。我们还确定了一系列翻译挑战,这些挑战在极限情况下只能通过人工干预来处理,并给出了这些病理案例在实际应用中出现的频率的一些统计数据。
{"title":"Reverse compilation of digital signal processor assembler source to ANSI-C","authors":"A. Johnstone, E. Scott, Tim Womack","doi":"10.1109/ICSM.1999.792629","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792629","url":null,"abstract":"Digital signal processors (DSPs) are special purpose microprocessors optimised for embedded applications that require high arithmetic rates. These devices are often difficult to compile for; compared to modern general purpose processors, DSPs often have very small address spaces. In addition they contain unusual hardware features and they require correct scheduling of operands against pipeline registers to extract the highest levels of available performance. As a result, high level language compilers for these devices generate poor quality code, and are rarely used in practice. Recently, new generation processors have been launched that are very hard to program by hand in assembler because of the complexity of their internal pipelines and arithmetic structures. DSP users are therefore having to migrate to using high level language compilers since this is the only practical development environment. However, there exist large quantities of legacy code written in assembler which represent a significant investment to the user who would like to be able to deploy core algorithms on the new processors without having to re-code from scratch. The article discusses the development and use of a tool to automatically reverse-compile assembler source for the ADSP-21xx family of DSPs to ANSI-C. We include a discussion of the architectural features of the ADSP-21xx processors and the ways in which they assist the translation process. We also identify a series of translation challenges which, in the limit, can only be handled with manual intervention and give some statistics for the frequency with which these pathological cases appear in real applications.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126676695","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Maintaining traceability during object-oriented software evolution: a case study 在面向对象的软件发展过程中维护可追溯性:一个案例研究
G. Antoniol, G. Canfora, A. D. Lucia
This paper presents an approach to build and visualize traceability links and properties of a set of OO software releases. The process recovers an "as is" design from C++ software releases, compares recovered designs at the class interface level, and helps the user to deal with inconsistencies by pointing out regions of code where differences are concentrated. The comparison process exploits edit distance and a maximum match algorithm and has been experimented with 9 releases of a library of foundation classes. Results as well as consideration related to presentation issues are reported in the paper.
本文提出了一种构建和可视化一组面向对象软件发布的可跟踪性链接和属性的方法。该过程从c++软件版本中恢复“原样”设计,在类接口级别比较恢复的设计,并通过指出差异集中的代码区域来帮助用户处理不一致。比较过程利用编辑距离和最大匹配算法,并在9个版本的基础类库中进行了实验。本文报告了结果以及与列报问题相关的考虑。
{"title":"Maintaining traceability during object-oriented software evolution: a case study","authors":"G. Antoniol, G. Canfora, A. D. Lucia","doi":"10.1109/ICSM.1999.792612","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792612","url":null,"abstract":"This paper presents an approach to build and visualize traceability links and properties of a set of OO software releases. The process recovers an \"as is\" design from C++ software releases, compares recovered designs at the class interface level, and helps the user to deal with inconsistencies by pointing out regions of code where differences are concentrated. The comparison process exploits edit distance and a maximum match algorithm and has been experimented with 9 releases of a library of foundation classes. Results as well as consideration related to presentation issues are reported in the paper.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127049984","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 31
A semi-formal approach to assist software design with reuse 一种半正式的方法,通过重用来帮助软件设计
W. Chu, C. Hsu, Chih-Wei Lu, Xudong He
Design with reuse has been accepted as a cost-effective way to software development. Software reuse covers the process of identification, representation, retrieval, adaptation, and integration of reusable software components. In this paper, we propose a semi-formal approach to software reuse. The approach consists of the following major steps: (1) software components are annotated with formal information, (2) the software components are then translated into predicate transition nets, and (3) consistency checking of the reusable and new components is carried out using the reachability analysis technique of predicate transition (PrT) nets. The approach is demonstrated through an example.
采用重用的设计已被认为是软件开发的一种经济有效的方法。软件重用涵盖了可重用软件组件的识别、表示、检索、调整和集成过程。在本文中,我们提出了一种半形式化的软件重用方法。该方法包括以下几个主要步骤:(1)用形式信息对软件组件进行注释;(2)将软件组件转换为谓词转换网络;(3)使用谓词转换网络的可达性分析技术对可重用组件和新组件进行一致性检查。通过一个实例说明了该方法。
{"title":"A semi-formal approach to assist software design with reuse","authors":"W. Chu, C. Hsu, Chih-Wei Lu, Xudong He","doi":"10.1109/ICSM.1999.792623","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792623","url":null,"abstract":"Design with reuse has been accepted as a cost-effective way to software development. Software reuse covers the process of identification, representation, retrieval, adaptation, and integration of reusable software components. In this paper, we propose a semi-formal approach to software reuse. The approach consists of the following major steps: (1) software components are annotated with formal information, (2) the software components are then translated into predicate transition nets, and (3) consistency checking of the reusable and new components is carried out using the reachability analysis technique of predicate transition (PrT) nets. The approach is demonstrated through an example.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126470976","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Impact analysis in real-time control systems 实时控制系统中的冲击分析
Jun Li, P. Feiler
Real time control systems typically receive streams of sampled data signals, process them, and generate output to control devices via actuators. Control system components make assumptions about sampling rate and other characteristics, such as filtering of data streams. These application-specific semantic dependencies and time-sensitive semantic properties are usually not explicit in the source code implementation. The paper discusses an approach to modeling the system architecture of real time applications, capturing semantic dependencies, and recording time-sensitive properties. Analysis of the model can identify inconsistencies in a system design and can determine the impact of a system change. This architectural dependency model can evolve incrementally to record hidden side effects, as they are discovered during maintenance, and prevent such errors in the future.
实时控制系统通常接收采样数据信号流,对其进行处理,并通过执行器生成输出以控制设备。控制系统组件对采样率和其他特性(如数据流的过滤)做出假设。这些特定于应用程序的语义依赖关系和对时间敏感的语义属性通常在源代码实现中不显式显示。本文讨论了一种实时应用系统架构建模、捕获语义依赖关系和记录时间敏感属性的方法。对模型的分析可以识别系统设计中的不一致性,并确定系统更改的影响。这种体系结构依赖模型可以逐步发展,以记录在维护期间发现的隐藏副作用,并防止将来出现此类错误。
{"title":"Impact analysis in real-time control systems","authors":"Jun Li, P. Feiler","doi":"10.1109/ICSM.1999.792642","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792642","url":null,"abstract":"Real time control systems typically receive streams of sampled data signals, process them, and generate output to control devices via actuators. Control system components make assumptions about sampling rate and other characteristics, such as filtering of data streams. These application-specific semantic dependencies and time-sensitive semantic properties are usually not explicit in the source code implementation. The paper discusses an approach to modeling the system architecture of real time applications, capturing semantic dependencies, and recording time-sensitive properties. Analysis of the model can identify inconsistencies in a system design and can determine the impact of a system change. This architectural dependency model can evolve incrementally to record hidden side effects, as they are discovered during maintenance, and prevent such errors in the future.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"281 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134407378","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Using coupling measurement for impact analysis in object-oriented systems 在面向对象系统中使用耦合测量进行影响分析
L. Briand, J. Wüst, H. Lounis
Many coupling measures have been proposed in the context of object oriented (OO) systems. In addition, due to the numerous dependencies present in OO systems, several studies have highlighted the complexity of using dependency analysis to perform impact analysis. An alternative is to investigate the construction of probabilistic decision models based on coupling measurement to support impact analysis. In addition to providing an ordering of classes where ripple effects are more likely, such an approach is simple and can be automated. In our investigation, we perform a thorough analysis on a commercial C++ system where change data has been collected over several years. We identify the coupling dimensions that seem to be significantly related to ripple effects and use these dimensions to rank classes according to their probability of containing ripple effects. We then assess the expected effectiveness of such decision models.
在面向对象(OO)系统中,已经提出了许多耦合措施。此外,由于OO系统中存在大量依赖关系,一些研究强调了使用依赖关系分析执行影响分析的复杂性。另一种选择是研究基于耦合测量的概率决策模型的构建,以支持影响分析。除了提供更可能产生连锁反应的类的排序之外,这种方法还很简单,并且可以自动化。在我们的调查中,我们对一个商业c++系统进行了彻底的分析,该系统已经收集了几年的变更数据。我们确定了似乎与涟漪效应显著相关的耦合维度,并根据包含涟漪效应的概率使用这些维度对类进行排序。然后,我们评估这些决策模型的预期有效性。
{"title":"Using coupling measurement for impact analysis in object-oriented systems","authors":"L. Briand, J. Wüst, H. Lounis","doi":"10.1109/ICSM.1999.792645","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792645","url":null,"abstract":"Many coupling measures have been proposed in the context of object oriented (OO) systems. In addition, due to the numerous dependencies present in OO systems, several studies have highlighted the complexity of using dependency analysis to perform impact analysis. An alternative is to investigate the construction of probabilistic decision models based on coupling measurement to support impact analysis. In addition to providing an ordering of classes where ripple effects are more likely, such an approach is simple and can be automated. In our investigation, we perform a thorough analysis on a commercial C++ system where change data has been collected over several years. We identify the coupling dimensions that seem to be significantly related to ripple effects and use these dimensions to rank classes according to their probability of containing ripple effects. We then assess the expected effectiveness of such decision models.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125993937","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 244
A language independent approach for detecting duplicated code 用于检测重复代码的独立于语言的方法
Stéphane Ducasse, M. Rieger, S. Demeyer
Code duplication is one of the factors that severely complicates the maintenance and evolution of large software systems. Techniques for detecting duplicated code exist but rely mostly on parsers, technology that has proven to be brittle in the face of different languages and dialects. In this paper we show that is possible to circumvent this hindrance by applying a language independent and visual approach, i.e. a tool that requires no parsing, yet is able to detect a significant amount of code duplication. We validate our approach on a number of case studies, involving four different implementation languages and ranging from 256 K up to 13 Mb of source code size.
代码复制是使大型软件系统的维护和发展严重复杂化的因素之一。检测重复代码的技术是存在的,但主要依赖于解析器,这种技术在面对不同的语言和方言时已被证明是脆弱的。在本文中,我们展示了通过应用一种独立于语言和可视化的方法来规避这一障碍的可能性,即一种不需要解析的工具,但能够检测到大量的代码重复。我们在许多案例研究中验证了我们的方法,涉及四种不同的实现语言,源代码大小从256k到13mb不等。
{"title":"A language independent approach for detecting duplicated code","authors":"Stéphane Ducasse, M. Rieger, S. Demeyer","doi":"10.1109/ICSM.1999.792593","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792593","url":null,"abstract":"Code duplication is one of the factors that severely complicates the maintenance and evolution of large software systems. Techniques for detecting duplicated code exist but rely mostly on parsers, technology that has proven to be brittle in the face of different languages and dialects. In this paper we show that is possible to circumvent this hindrance by applying a language independent and visual approach, i.e. a tool that requires no parsing, yet is able to detect a significant amount of code duplication. We validate our approach on a number of case studies, involving four different implementation languages and ranging from 256 K up to 13 Mb of source code size.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123345714","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 742
Component module classification for distributed software understanding 组件模块分类对分布式软件的理解
N. Mendonça, J. Kramer
Effective analysis and evolution of existing distributed software systems rely to great an extent on the ability to recognise implemented executable components, particularly their constituent modules. Traditionally, this information is obtained via manual examination of configuration files and the source code directory hierarchy. However both types of artifact are limited in distinguishing which modules are used exclusively by each executable component. This exclusivity distinction is important in that it helps to understand the components' unique functionalities and their potential runtime behaviour. This paper presents a module classification technique that can facilitate automatic recognition of executable component modules in a distributed system. In contrast to existing approaches, the technique explicitly distinguishes component exclusive modules from modules shared by multiple components. The paper illustrates the benefits of the technique by reporting on the results of a case study where it has been useful to (a) revealing component exclusive modules in the source code for the field distributed programming environment; and (b) investigating some aspects of an implicit-invocation model of field described elsewhere. Applications of the technique to other software engineering tasks, such as change impact analysis, reuse and restructuring, are also discussed.
现有分布式软件系统的有效分析和发展在很大程度上依赖于识别实现的可执行组件的能力,特别是它们的组成模块。传统上,这些信息是通过手动检查配置文件和源代码目录层次结构获得的。然而,这两种类型的工件在区分每个可执行组件专门使用哪些模块方面受到限制。这种排他性区别非常重要,因为它有助于理解组件的独特功能及其潜在的运行时行为。针对分布式系统中可执行组件模块的自动识别问题,提出了一种模块分类技术。与现有方法相比,该技术显式地区分组件独占模块和多个组件共享的模块。本文通过报告一个案例研究的结果来说明该技术的好处,该案例研究的结果有助于(a)揭示领域分布式编程环境源代码中的组件独占模块;(b)研究其他地方描述的字段的隐式调用模型的某些方面。本文还讨论了该技术在其他软件工程任务中的应用,如变更影响分析、重用和重构。
{"title":"Component module classification for distributed software understanding","authors":"N. Mendonça, J. Kramer","doi":"10.1109/ICSM.1999.792595","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792595","url":null,"abstract":"Effective analysis and evolution of existing distributed software systems rely to great an extent on the ability to recognise implemented executable components, particularly their constituent modules. Traditionally, this information is obtained via manual examination of configuration files and the source code directory hierarchy. However both types of artifact are limited in distinguishing which modules are used exclusively by each executable component. This exclusivity distinction is important in that it helps to understand the components' unique functionalities and their potential runtime behaviour. This paper presents a module classification technique that can facilitate automatic recognition of executable component modules in a distributed system. In contrast to existing approaches, the technique explicitly distinguishes component exclusive modules from modules shared by multiple components. The paper illustrates the benefits of the technique by reporting on the results of a case study where it has been useful to (a) revealing component exclusive modules in the source code for the field distributed programming environment; and (b) investigating some aspects of an implicit-invocation model of field described elsewhere. Applications of the technique to other software engineering tasks, such as change impact analysis, reuse and restructuring, are also discussed.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"359 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115893615","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Restructuring legacy C code into C++ 将遗留的C代码重构为c++
R. Fanta, V. Rajlich
In this paper, we describe restructuring of C code into new C++ classes. Such restructuring is done to facilitate both software reuse and software evolution. The restructuring is accomplished by restructuring tools and scenarios. We discuss the transformation tool-set and the design of the individual tools. The approach is demonstrated on a case study We also discuss how this tool-set could be enhanced in the future.
在本文中,我们描述了将C代码重构为新的c++类。这样的重构是为了促进软件重用和软件发展。重构是通过重构工具和场景来完成的。我们讨论了转换工具集和各个工具的设计。在一个案例研究中演示了该方法。我们还讨论了如何在将来增强该工具集。
{"title":"Restructuring legacy C code into C++","authors":"R. Fanta, V. Rajlich","doi":"10.1109/ICSM.1999.792576","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792576","url":null,"abstract":"In this paper, we describe restructuring of C code into new C++ classes. Such restructuring is done to facilitate both software reuse and software evolution. The restructuring is accomplished by restructuring tools and scenarios. We discuss the transformation tool-set and the design of the individual tools. The approach is demonstrated on a case study We also discuss how this tool-set could be enhanced in the future.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115809306","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 29
A semantic foundation for architectural reengineering and interchange 架构再造和交换的语义基础
S. Woods, S. Carrière, R. Kazman
The article describes our view on the importance of exchanging not only system information in the reengineering community, but also exchanging a description of the semantics that underly the extraction, annotation and augmentation of the information one wishes to exchange. The semantics are more than the schema of the information exchanged. They include the rationale for the structure of the schema itself. We also make the point that we need to be explicit about what it means to reconstruct architecture, in terms of the architectural semantics that we are hypothesizing for the system being analyzed. We present the discussion in the context of a revised set of levels based on the CORUM II model.
本文描述了我们对在再造社区中不仅交换系统信息的重要性的看法,而且还交换了对希望交换的信息的提取、注释和增强的语义的描述。语义不仅仅是交换信息的模式。它们包括模式本身结构的基本原理。我们还指出,我们需要明确重建体系结构意味着什么,根据我们为所分析的系统假设的体系结构语义。我们在基于CORUM II模型的修订后的一组水平的背景下进行讨论。
{"title":"A semantic foundation for architectural reengineering and interchange","authors":"S. Woods, S. Carrière, R. Kazman","doi":"10.1109/ICSM.1999.792637","DOIUrl":"https://doi.org/10.1109/ICSM.1999.792637","url":null,"abstract":"The article describes our view on the importance of exchanging not only system information in the reengineering community, but also exchanging a description of the semantics that underly the extraction, annotation and augmentation of the information one wishes to exchange. The semantics are more than the schema of the information exchanged. They include the rationale for the structure of the schema itself. We also make the point that we need to be explicit about what it means to reconstruct architecture, in terms of the architectural semantics that we are hypothesizing for the system being analyzed. We present the discussion in the context of a revised set of levels based on the CORUM II model.","PeriodicalId":193867,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)","volume":"143 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126816067","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
期刊
Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1