首页 > 最新文献

2007 IEEE International Conference on Software Maintenance最新文献

英文 中文
How We Manage Portability and Configuration with the C Preprocessor 我们如何管理C预处理器的可移植性和配置
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362640
A. Sutton, Jonathan I. Maletic
An in-depth investigation of C preprocessor usage for portability and configuration management is presented. Three heavily-ported and widely used C++ libraries are examined. A core set of header files responsible for configuration management is identified in each system. Then macro usage is extracted and analyzed both manually and with the help of program analysis tools. The configuration structure of each library is discussed in details and commonalities between the systems, including conventions and patterns are discussed. A common configuration architecture for managing portability concerns is derived and presented.
对C预处理器在可移植性和配置管理方面的使用进行了深入的研究。本文考察了三个被大量移植和广泛使用的c++库。在每个系统中都确定了一组负责配置管理的核心头文件。然后通过手工和程序分析工具提取和分析宏的使用情况。详细讨论了每个库的配置结构,并讨论了系统之间的共性,包括约定和模式。导出并提出了用于管理可移植性问题的通用配置体系结构。
{"title":"How We Manage Portability and Configuration with the C Preprocessor","authors":"A. Sutton, Jonathan I. Maletic","doi":"10.1109/ICSM.2007.4362640","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362640","url":null,"abstract":"An in-depth investigation of C preprocessor usage for portability and configuration management is presented. Three heavily-ported and widely used C++ libraries are examined. A core set of header files responsible for configuration management is identified in each system. Then macro usage is extracted and analyzed both manually and with the help of program analysis tools. The configuration structure of each library is discussed in details and commonalities between the systems, including conventions and patterns are discussed. A common configuration architecture for managing portability concerns is derived and presented.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116396072","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}
引用次数: 16
SCARPE: A Technique and Tool for Selective Capture and Replay of Program Executions SCARPE:选择性捕获和重放程序执行的技术和工具
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362636
Shrinivas Joshi, A. Orso
Because of software's increasing dynamism and the heterogeneity of execution environments, the results of in-house testing and maintenance are often not representative of the way the software behaves in the field. To alleviate this problem, we present a technique for capturing and replaying partial executions of deployed software. Our technique can be used for various applications, including generation of test cases from user executions and post-mortem dynamic analysis. We present our technique and tool, some possible applications, and a preliminary empirical evaluation that provides initial evidence of the feasibility of our approach.
由于软件日益增长的动态性和执行环境的异质性,内部测试和维护的结果通常不能代表软件在该领域的行为方式。为了缓解这个问题,我们提出了一种捕获和重放已部署软件的部分执行的技术。我们的技术可用于各种应用程序,包括从用户执行和事后动态分析生成测试用例。我们介绍了我们的技术和工具,一些可能的应用,以及初步的经验评估,为我们的方法的可行性提供了初步的证据。
{"title":"SCARPE: A Technique and Tool for Selective Capture and Replay of Program Executions","authors":"Shrinivas Joshi, A. Orso","doi":"10.1109/ICSM.2007.4362636","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362636","url":null,"abstract":"Because of software's increasing dynamism and the heterogeneity of execution environments, the results of in-house testing and maintenance are often not representative of the way the software behaves in the field. To alleviate this problem, we present a technique for capturing and replaying partial executions of deployed software. Our technique can be used for various applications, including generation of test cases from user executions and post-mortem dynamic analysis. We present our technique and tool, some possible applications, and a preliminary empirical evaluation that provides initial evidence of the feasibility of our approach.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122189884","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}
引用次数: 52
The Social Context of Software Maintenance 软件维护的社会背景
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362645
Jonathan Sillito, E. Wynn
Software maintenance is a highly collaborative activity whose social context is rarely addressed. To explore this context, we conducted an ethnographic study at a large technology company involving participant observation with software engineers. Thirty-six participants (nine managers and twenty-seven software engineers) at the company participated in semi-formal interviews, while six months of participant observation produced insights about the work practice. The paper presents nine key observations that demonstrate the social context of maintenance activities. These observations provide a description of how work was divided between groups, the social dependencies that exist between groups, challenges in managing branches, the role of small projects, issues of making cross-group changes to source code, how dependencies are identified, problems of confidence in testing, and the impacts of working across widely different time-zones. The paper also highlights implications these observations have for software engineering research and practice.
软件维护是一项高度协作的活动,其社会背景很少得到解决。为了探索这一背景,我们在一家大型科技公司进行了一项人种志研究,涉及与软件工程师的参与观察。公司的36名参与者(9名经理和27名软件工程师)参加了半正式的面试,而6个月的参与者观察产生了对工作实践的见解。本文提出了九个关键的观察,证明了维护活动的社会背景。这些观察提供了对工作如何在小组之间划分、小组之间存在的社会依赖关系、管理分支的挑战、小项目的角色、对源代码进行跨小组更改的问题、如何识别依赖关系、测试中的信心问题,以及跨不同时区工作的影响的描述。本文还强调了这些观察对软件工程研究和实践的影响。
{"title":"The Social Context of Software Maintenance","authors":"Jonathan Sillito, E. Wynn","doi":"10.1109/ICSM.2007.4362645","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362645","url":null,"abstract":"Software maintenance is a highly collaborative activity whose social context is rarely addressed. To explore this context, we conducted an ethnographic study at a large technology company involving participant observation with software engineers. Thirty-six participants (nine managers and twenty-seven software engineers) at the company participated in semi-formal interviews, while six months of participant observation produced insights about the work practice. The paper presents nine key observations that demonstrate the social context of maintenance activities. These observations provide a description of how work was divided between groups, the social dependencies that exist between groups, challenges in managing branches, the role of small projects, issues of making cross-group changes to source code, how dependencies are identified, problems of confidence in testing, and the impacts of working across widely different time-zones. The paper also highlights implications these observations have for software engineering research and practice.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129596957","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}
引用次数: 10
Multi-Objective Genetic Algorithm to Support Class Responsibility Assignment 支持类职责分配的多目标遗传算法
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362625
Michael Bowman, L. Briand, Y. Labiche
Class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making help to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. This article presents our approach in detail, our decisions regarding the multi-objective genetic algorithm, and reports on a case study. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions.
类责任分配不是一项容易掌握的技能。尽管有许多方法可以将职责分配给类,但它们都依赖于人的判断和决策。我们的目标是为类图中的类重新分配方法和属性提供决策帮助。该解决方案基于多目标遗传算法(MOGA),并使用类耦合和内聚度量。我们的MOGA将一个需要优化的类图作为输入,并对它提出可能的改进建议。MOGA的选择源于这样一个事实,即通常存在许多评估标准,这些标准不能轻松地组合到一个目标中,并且对于给定的OO域模型,可以接受几个替代解决方案。本文详细介绍了我们的方法,我们关于多目标遗传算法的决定,并报告了一个案例研究。我们的研究结果表明,MOGA可以帮助纠正次优类职责分配决策。
{"title":"Multi-Objective Genetic Algorithm to Support Class Responsibility Assignment","authors":"Michael Bowman, L. Briand, Y. Labiche","doi":"10.1109/ICSM.2007.4362625","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362625","url":null,"abstract":"Class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making help to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. This article presents our approach in detail, our decisions regarding the multi-objective genetic algorithm, and reports on a case study. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114352028","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}
引用次数: 26
Polylingual Dependency Analysis Using Island Grammars: A Cost Versus Accuracy Evaluation 使用孤岛语法的多语言依赖分析:成本与准确性评估
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362634
Bradley Cossette, R. Walker
Software dependency analysis is an important step in determining the potential impact of changes. Existing tool support for conducting dependency analysis does not sufficiently support systems written in more than one language. Tools based on semantic analyses are expensive to create for combinations of multiple languages, while lexical tools provide poor accuracy and rely heavily on developer skill. This paper reports on an investigation into the application of a series of incrementally-better island grammars to an industrial, open-source polylingual system to determine the cost-to-accuracy relationship involved in developing and applying island grammars for dependency analysis. The results of our study suggest the effort-cost in writing richer island grammars rises faster than the resulting accuracy.
软件依赖分析是确定变更的潜在影响的重要步骤。用于执行依赖性分析的现有工具支持不足以支持用多种语言编写的系统。为多种语言的组合创建基于语义分析的工具非常昂贵,而词法工具的准确性很差,并且严重依赖于开发人员的技能。本文报告了一项对一系列逐步改进的孤岛语法在工业、开源多语言系统中的应用的调查,以确定开发和应用孤岛语法进行依赖分析所涉及的成本-准确性关系。我们的研究结果表明,编写更丰富的岛屿语法的努力成本比准确度上升得更快。
{"title":"Polylingual Dependency Analysis Using Island Grammars: A Cost Versus Accuracy Evaluation","authors":"Bradley Cossette, R. Walker","doi":"10.1109/ICSM.2007.4362634","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362634","url":null,"abstract":"Software dependency analysis is an important step in determining the potential impact of changes. Existing tool support for conducting dependency analysis does not sufficiently support systems written in more than one language. Tools based on semantic analyses are expensive to create for combinations of multiple languages, while lexical tools provide poor accuracy and rely heavily on developer skill. This paper reports on an investigation into the application of a series of incrementally-better island grammars to an industrial, open-source polylingual system to determine the cost-to-accuracy relationship involved in developing and applying island grammars for dependency analysis. The results of our study suggest the effort-cost in writing richer island grammars rises faster than the resulting accuracy.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121582906","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}
引用次数: 6
Web Pages Classification using Concept Analysis 基于概念分析的网页分类
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362651
G. D. Lucca, A. R. Fasolino, Porfirio Tramontana
Analysis and classification of Web application user interfaces is a relevant problem in Web maintenance processes. This paper presents an approach for the reliable classification of HTML pages of a dynamic Web application. The approach is based on the assumption that groups of semantically equivalent built pages are characterized by the same key features which can be used for discriminating the pages. These features are obtained by an iterative process that exploits formal concept analysis for finding features that are specific for each class of pages. The process is supported by a toolkit that allows an effective definition of the discriminating features. The approach has been preliminarily validated with an experiment that produced encouraging results.
Web应用程序用户界面的分析与分类是Web维护过程中的一个相关问题。提出了一种对动态Web应用程序的HTML页面进行可靠分类的方法。该方法基于这样一个假设,即语义等效的构建页面组具有相同的关键特征,这些特征可用于区分页面。这些特征是通过迭代过程获得的,该过程利用形式概念分析来查找特定于每一类页面的特征。该过程由一个工具包支持,该工具包允许有效地定义鉴别特征。该方法已通过实验得到初步验证,并取得了令人鼓舞的结果。
{"title":"Web Pages Classification using Concept Analysis","authors":"G. D. Lucca, A. R. Fasolino, Porfirio Tramontana","doi":"10.1109/ICSM.2007.4362651","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362651","url":null,"abstract":"Analysis and classification of Web application user interfaces is a relevant problem in Web maintenance processes. This paper presents an approach for the reliable classification of HTML pages of a dynamic Web application. The approach is based on the assumption that groups of semantically equivalent built pages are characterized by the same key features which can be used for discriminating the pages. These features are obtained by an iterative process that exploits formal concept analysis for finding features that are specific for each class of pages. The process is supported by a toolkit that allows an effective definition of the discriminating features. The approach has been preliminarily validated with an experiment that produced encouraging results.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126495721","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}
引用次数: 6
Fault Detection Probability Analysis for Coverage-Based Test Suite Reduction 基于覆盖率的测试集缩减的故障检测概率分析
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362646
S. McMaster, A. Memon
Test suite reduction seeks to reduce the number of test cases in a test suite while retaining a high percentage of the original suite's fault detection effectiveness. Most approaches to this problem are based on eliminating test cases that are redundant relative to some coverage criterion. The effectiveness of applying various coverage criteria in test suite reduction is traditionally based on empirical comparison of two metrics derived from the full and reduced test suites and information about a set of known faults: (1) percentage size reduction and (2) percentage fault detection reduction, neither of which quantitatively takes test coverage data into account. Consequently, no existing measure expresses the likelihood of various coverage criteria to force coverage-based reduction to retain test cases that expose specific faults. In this paper, we develop and empirically evaluate, using a number of different coverage criteria, a new metric based on the "average expected probability of finding a fault" in a reduced test suite. Our results indicate that the average probability of detecting each fault shows promise for identifying coverage criteria that work well for test suite reduction.
测试套件减少旨在减少测试套件中测试用例的数量,同时保留原始套件的故障检测效率的高比例。大多数解决这个问题的方法都是基于消除相对于某些覆盖标准来说是冗余的测试用例。在测试套件缩减中应用各种覆盖标准的有效性传统上是基于两个度量的经验比较,这些度量来自完整的和缩减的测试套件,以及关于一组已知故障的信息:(1)百分比大小缩减和(2)百分比故障检测缩减,这两者都没有定量地考虑测试覆盖数据。因此,没有任何现有的度量来表达各种覆盖标准的可能性,以强制基于覆盖的减少来保留暴露特定错误的测试用例。在本文中,我们使用许多不同的覆盖率标准,开发并经验性地评估了一个基于在缩减的测试套件中“发现错误的平均预期概率”的新度量。我们的结果表明,检测每个错误的平均概率显示了识别覆盖标准的希望,这些标准很好地用于减少测试套件。
{"title":"Fault Detection Probability Analysis for Coverage-Based Test Suite Reduction","authors":"S. McMaster, A. Memon","doi":"10.1109/ICSM.2007.4362646","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362646","url":null,"abstract":"Test suite reduction seeks to reduce the number of test cases in a test suite while retaining a high percentage of the original suite's fault detection effectiveness. Most approaches to this problem are based on eliminating test cases that are redundant relative to some coverage criterion. The effectiveness of applying various coverage criteria in test suite reduction is traditionally based on empirical comparison of two metrics derived from the full and reduced test suites and information about a set of known faults: (1) percentage size reduction and (2) percentage fault detection reduction, neither of which quantitatively takes test coverage data into account. Consequently, no existing measure expresses the likelihood of various coverage criteria to force coverage-based reduction to retain test cases that expose specific faults. In this paper, we develop and empirically evaluate, using a number of different coverage criteria, a new metric based on the \"average expected probability of finding a fault\" in a reduced test suite. Our results indicate that the average probability of detecting each fault shows promise for identifying coverage criteria that work well for test suite reduction.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132665024","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
Mining the Lexicon Used by Programmers during Sofware Evolution 挖掘程序员在软件进化过程中使用的词汇
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362614
G. Antoniol, Yann-Gaël Guéhéneuc, E. Merlo, P. Tonella
Identifiers represent an important source of information for programmers understanding and maintaining a system. Self-documenting identifiers reduce the time and effort necessary to obtain the level of understanding appropriate for the task at hand. While the role of the lexicon in program comprehension has long been recognized, only a few works have studied the quality and enhancement of the identifiers and no works have studied the evolution of the lexicon. In this paper, we characterize the evolution of program identifiers in terms of stability metrics and occurrences of renaming. We assess whether an evolution process similar to the one occurring for the program structure exists for identifiers. We report data and results about the evolution of three large systems, for which several releases are available. We have found evidence that the evolution of the lexicon is more limited and constrained than the evolution of the structure. We argue that the different evolution results from several factors including the lack of advanced tool support for lexicon construction, documentation, and evolution.
标识符是程序员理解和维护系统的重要信息源。自文档标识符减少了获得适合手头任务的理解级别所需的时间和精力。虽然人们早已认识到词典在程序理解中的作用,但对标识符的质量和增强进行研究的作品很少,对词典的演变进行研究的作品也很少。在本文中,我们根据稳定性度量和重命名的发生来描述程序标识符的演变。我们评估标识符是否存在类似于程序结构的进化过程。我们报告了关于三个大系统演化的数据和结果,其中有几个版本是可用的。我们发现有证据表明,词汇的进化比结构的进化更受限制和约束。我们认为,不同的进化是由几个因素造成的,包括缺乏对词典构建、文档编制和进化的高级工具支持。
{"title":"Mining the Lexicon Used by Programmers during Sofware Evolution","authors":"G. Antoniol, Yann-Gaël Guéhéneuc, E. Merlo, P. Tonella","doi":"10.1109/ICSM.2007.4362614","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362614","url":null,"abstract":"Identifiers represent an important source of information for programmers understanding and maintaining a system. Self-documenting identifiers reduce the time and effort necessary to obtain the level of understanding appropriate for the task at hand. While the role of the lexicon in program comprehension has long been recognized, only a few works have studied the quality and enhancement of the identifiers and no works have studied the evolution of the lexicon. In this paper, we characterize the evolution of program identifiers in terms of stability metrics and occurrences of renaming. We assess whether an evolution process similar to the one occurring for the program structure exists for identifiers. We report data and results about the evolution of three large systems, for which several releases are available. We have found evidence that the evolution of the lexicon is more limited and constrained than the evolution of the structure. We argue that the different evolution results from several factors including the lack of advanced tool support for lexicon construction, documentation, and evolution.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"193 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133751186","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}
引用次数: 62
Assessing Software System Maintainability using Structural Measures and Expert Assessments 使用结构度量和专家评估评估软件系统的可维护性
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362633
Bente Anda
Software maintenance is often expensive; hence, strategies for assessing the maintainability of complete software systems are important. Nevertheless, a software client usually has few means of assessing the maintainability of a software system as part of the acquisition process. Assessing the maintainability of complete systems is difficult due to the influence of many factors, such as the people, tasks and tools, in addition to the code. Furthermore, most research on maintainability focuses on individual classes of individual systems. This paper describes an empirical study in which the maintainability of four functionally equivalent systems developed in Java was assessed using both structural measures and expert assessments. The results suggest that such a combination may be useful. Although the assessment based on structural measures mostly corresponded with the expert assessments, there were several examples of potential problems regarding maintainability that were not captured by the structural measures.
软件维护通常是昂贵的;因此,评估完整软件系统的可维护性的策略非常重要。然而,作为获取过程的一部分,软件客户通常没有多少方法来评估软件系统的可维护性。由于许多因素的影响,例如人员、任务和工具,除了代码之外,评估完整系统的可维护性是困难的。此外,大多数关于可维护性的研究都集中在单个系统的单个类上。本文描述了一项实证研究,其中使用结构度量和专家评估对Java开发的四个功能等效系统的可维护性进行了评估。结果表明,这样的组合可能是有用的。尽管基于结构性措施的评估大多与专家评估相一致,但是有几个关于可维护性的潜在问题的例子没有被结构性措施捕获。
{"title":"Assessing Software System Maintainability using Structural Measures and Expert Assessments","authors":"Bente Anda","doi":"10.1109/ICSM.2007.4362633","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362633","url":null,"abstract":"Software maintenance is often expensive; hence, strategies for assessing the maintainability of complete software systems are important. Nevertheless, a software client usually has few means of assessing the maintainability of a software system as part of the acquisition process. Assessing the maintainability of complete systems is difficult due to the influence of many factors, such as the people, tasks and tools, in addition to the code. Furthermore, most research on maintainability focuses on individual classes of individual systems. This paper describes an empirical study in which the maintainability of four functionally equivalent systems developed in Java was assessed using both structural measures and expert assessments. The results suggest that such a combination may be useful. Although the assessment based on structural measures mostly corresponded with the expert assessments, there were several examples of potential problems regarding maintainability that were not captured by the structural measures.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133781074","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}
引用次数: 55
JTourBus: Simplifying Program Understanding by Documentation that Provides Tours Through the Source Code JTourBus:通过提供源代码导览的文档简化程序理解
Pub Date : 2007-10-22 DOI: 10.1109/ICSM.2007.4362619
C. Oezbek, L. Prechelt
Many small and medium-sized systems have little or no design documentation, which makes program understanding during maintenance enormously more difficult when performed by outsiders. Thus, if only minimal design documentation is available, which form should it take to maximize its usefulness? We suggest that it is helpful if the documentation describes a tour through the source code, leading the user directly to relevant details. This work reports an evaluation of this conceptual idea in the form of a controlled experiment with 59 student subjects working on a difficult program understanding task in the context of the 27 KLOC JHotDraw graphics framework. One group received a plain text documentation, the other received tour-structured documentation which they navigated by using an Eclipse plugin called JTourBus that we constructed for the experiment. The results indicate that program understanding can be achieved somewhat faster (albeit not more correctly) with JTourBus than with a plain text document.
许多小型和中型系统很少或没有设计文档,这使得外部人员在维护期间对程序的理解变得非常困难。因此,如果只有最少的设计文档可用,应该采用哪种形式来最大化其用途?我们建议,如果文档描述了对源代码的浏览,将用户直接引导到相关细节,这将是有帮助的。本文以对照实验的形式对这一概念进行了评估,59名学生在27 KLOC JHotDraw图形框架的背景下完成了一个困难的程序理解任务。一组收到纯文本文档,另一组收到导游结构化文档,他们使用我们为实验构建的一个名为JTourBus的Eclipse插件进行导航。结果表明,与使用纯文本文档相比,使用JTourBus可以更快地理解程序(尽管不是更正确)。
{"title":"JTourBus: Simplifying Program Understanding by Documentation that Provides Tours Through the Source Code","authors":"C. Oezbek, L. Prechelt","doi":"10.1109/ICSM.2007.4362619","DOIUrl":"https://doi.org/10.1109/ICSM.2007.4362619","url":null,"abstract":"Many small and medium-sized systems have little or no design documentation, which makes program understanding during maintenance enormously more difficult when performed by outsiders. Thus, if only minimal design documentation is available, which form should it take to maximize its usefulness? We suggest that it is helpful if the documentation describes a tour through the source code, leading the user directly to relevant details. This work reports an evaluation of this conceptual idea in the form of a controlled experiment with 59 student subjects working on a difficult program understanding task in the context of the 27 KLOC JHotDraw graphics framework. One group received a plain text documentation, the other received tour-structured documentation which they navigated by using an Eclipse plugin called JTourBus that we constructed for the experiment. The results indicate that program understanding can be achieved somewhat faster (albeit not more correctly) with JTourBus than with a plain text document.","PeriodicalId":263470,"journal":{"name":"2007 IEEE International Conference on Software Maintenance","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134074513","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}
引用次数: 26
期刊
2007 IEEE International Conference on Software Maintenance
全部 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