首页 > 最新文献

2009 IEEE International Conference on Software Maintenance最新文献

英文 中文
Modeling class cohesion as mixtures of latent topics 将类内聚建模为潜在主题的混合物
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306318
Yixun Liu, D. Poshyvanyk, R. Ferenc, T. Gyimóthy, Nikos Chrisochoides
The paper proposes a new measure for the cohesion of classes in Object-Oriented software systems. It is based on the analysis of latent topics embedded in comments and identifiers in source code. The measure, named as Maximal Weighted Entropy, utilizes the Latent Dirichlet Allocation technique and information entropy measures to quantitatively evaluate the cohesion of classes in software. This paper presents the principles and the technology that stand behind the proposed measure. Two case studies on a large open source software system are presented. They compare the new measure with an extensive set of existing metrics and use them to construct models that predict software faults. The case studies indicate that the novel measure captures different aspects of class cohesion compared to the existing cohesion measures and improves fault prediction for most metrics, which are combined with Maximal Weighted Entropy.
提出了面向对象软件系统中类内聚的一种新方法。它基于对嵌入在源代码注释和标识符中的潜在主题的分析。该度量被称为最大加权熵,利用潜在狄利克雷分配技术和信息熵度量来定量评价软件中类的内聚性。本文介绍了所提出的措施背后的原理和技术。给出了一个大型开源软件系统的两个案例研究。他们将新度量与一组广泛的现有度量进行比较,并使用它们来构建预测软件故障的模型。实例研究表明,与现有的类内聚测度相比,该测度捕获了类内聚的不同方面,并改进了与最大加权熵相结合的大多数测度的故障预测。
{"title":"Modeling class cohesion as mixtures of latent topics","authors":"Yixun Liu, D. Poshyvanyk, R. Ferenc, T. Gyimóthy, Nikos Chrisochoides","doi":"10.1109/ICSM.2009.5306318","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306318","url":null,"abstract":"The paper proposes a new measure for the cohesion of classes in Object-Oriented software systems. It is based on the analysis of latent topics embedded in comments and identifiers in source code. The measure, named as Maximal Weighted Entropy, utilizes the Latent Dirichlet Allocation technique and information entropy measures to quantitatively evaluate the cohesion of classes in software. This paper presents the principles and the technology that stand behind the proposed measure. Two case studies on a large open source software system are presented. They compare the new measure with an extensive set of existing metrics and use them to construct models that predict software faults. The case studies indicate that the novel measure captures different aspects of class cohesion compared to the existing cohesion measures and improves fault prediction for most metrics, which are combined with Maximal Weighted Entropy.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131492135","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}
引用次数: 97
MAJOR: Flexible tool development with aspect-oriented programming 专业:灵活的工具开发和面向方面的编程
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306316
A. Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni
Developing and maintaining tools for profiling, debugging, testing, and reverse engineering can be difficult when using low-level techniques, such as bytecode instrumentation. We promote tool development in Java using high-level aspect-oriented programming. We demonstrate that the use of aspects yields concise tools that are easy to develop, extend, and maintain, because low-level instrumentation details are hidden from the developer. We introduce MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes executing in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. Both distinguishing features of MAJOR — comprehensive aspect weaving and efficient access to complete calling information — are essential in the aforementioned domains.
在使用低级技术(如字节码检测)时,开发和维护用于分析、调试、测试和逆向工程的工具可能会很困难。我们提倡在Java中使用高级面向方面编程进行工具开发。我们演示了方面的使用产生了简洁的工具,这些工具易于开发、扩展和维护,因为低级的工具细节对开发人员是隐藏的。我们介绍了MAJOR,这是一个用于全面方面编织的新工具,它确保将方面编织到Java虚拟机中执行的所有类中,包括标准Java类库中的类。MAJOR包含可插拔模块CARAJillo,它支持对完整的、可定制的调用上下文表示的有效访问。MAJOR的两个显著特征——全面的方面编织和对完整调用信息的有效访问——在上述领域都是必不可少的。
{"title":"MAJOR: Flexible tool development with aspect-oriented programming","authors":"A. Villazón, Walter Binder, Philippe Moret, Danilo Ansaloni","doi":"10.1109/ICSM.2009.5306316","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306316","url":null,"abstract":"Developing and maintaining tools for profiling, debugging, testing, and reverse engineering can be difficult when using low-level techniques, such as bytecode instrumentation. We promote tool development in Java using high-level aspect-oriented programming. We demonstrate that the use of aspects yields concise tools that are easy to develop, extend, and maintain, because low-level instrumentation details are hidden from the developer. We introduce MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes executing in a Java Virtual Machine, including those in the standard Java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. Both distinguishing features of MAJOR — comprehensive aspect weaving and efficient access to complete calling information — are essential in the aforementioned domains.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133254062","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}
引用次数: 0
Maintenance, or the 3rd dimension of eXtreme model-driven design 维护,或三维的eXtreme模型驱动设计
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306281
B. Steffen, Sven Jörges, Christian Wagner, T. Margaria
Service orientation leads to a completely new understanding and a much more end-user oriented tailoring of software design. We advocate a new software development paradigm: eXtreme Model-Driven Design (XMDD), designed to continuously involve the customer/application expert throughout the whole system's life cycle, including development and software maintenance. As maintenance is predominantly an adaption to new user requirements or to other global conditions, empowering the application expert would change the scene: Customer/application experts could rapidly adapt the system to their changing requirements. Source code becomes “only” a by-product and the development focuses on the model level. This paper presents a new development paradigm which realizes these ideas.
面向服务导致了对软件设计的全新理解和更加面向最终用户的剪裁。我们提倡一种新的软件开发范例:极限模型驱动设计(eXtreme Model-Driven Design, XMDD),它旨在让客户/应用程序专家在整个系统的生命周期中持续参与,包括开发和软件维护。由于维护主要是适应新的用户需求或其他全局条件,授权应用程序专家将改变场景:客户/应用程序专家可以快速调整系统以适应他们不断变化的需求。源代码变成了“仅仅”一个副产品,开发集中在模型级别。本文提出了实现这些思想的一种新的开发范式。
{"title":"Maintenance, or the 3rd dimension of eXtreme model-driven design","authors":"B. Steffen, Sven Jörges, Christian Wagner, T. Margaria","doi":"10.1109/ICSM.2009.5306281","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306281","url":null,"abstract":"Service orientation leads to a completely new understanding and a much more end-user oriented tailoring of software design. We advocate a new software development paradigm: eXtreme Model-Driven Design (XMDD), designed to continuously involve the customer/application expert throughout the whole system's life cycle, including development and software maintenance. As maintenance is predominantly an adaption to new user requirements or to other global conditions, empowering the application expert would change the scene: Customer/application experts could rapidly adapt the system to their changing requirements. Source code becomes “only” a by-product and the development focuses on the model level. This paper presents a new development paradigm which realizes these ideas.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114322534","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
Prioritizing JUnit test cases in absence of coverage information 在没有覆盖信息的情况下对JUnit测试用例进行优先级排序
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306350
Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang, Hong Mei
Better orderings of test cases can detect faults in less time with fewer resources, and thus make the debugging process earlier and accelerate software delivery. As a result, test case prioritization has become a hot topic in the research of regression testing. With the popularity of using the JUnit testing framework for developing Java software, researchers also paid attention to techniques for prioritizing JUnit test cases in regression testing of Java software. Typically, most of them are based on coverage information of test cases. However, coverage information may need extra costs to acquire. In this paper, we propose an approach (named Jupta) for prioritizing JUnit test cases in absence of coverage information. Jupta statically analyzes call graphs of JUnit test cases and the software under test to estimate the test ability (TA) of each test case. Furthermore, Jupta provides two prioritization techniques: the total TA based technique (denoted as JuptaT) and the additional TA based technique (denoted as JuptaA). To evaluate Jupta, we performed an experimental study on two open source Java programs, containing 11 versions in total. The experimental results indicate that Jupta is more effective and stable than the untreated orderings and Jupta is approximately as effective and stable as prioritization techniques using coverage information at the method level.
更好的测试用例排序可以用更少的资源在更短的时间内检测到错误,从而使调试过程更早,加速软件交付。因此,测试用例的优先级划分成为回归测试研究中的一个热点问题。随着使用JUnit测试框架开发Java软件的普及,研究者也开始关注在Java软件的回归测试中对JUnit测试用例进行优先级排序的技术。通常,它们中的大多数是基于测试用例的覆盖信息。然而,覆盖率信息可能需要额外的成本来获取。在本文中,我们提出了一种方法(名为Jupta),用于在没有覆盖信息的情况下对JUnit测试用例进行优先级排序。Jupta静态地分析JUnit测试用例和被测软件的调用图,以估计每个测试用例的测试能力(TA)。此外,Jupta提供了两种优先级技术:基于总TA的技术(表示为JuptaT)和基于附加TA的技术(表示为JuptaA)。为了评估Jupta,我们对两个开源Java程序进行了实验研究,总共包含11个版本。实验结果表明,Jupta比未经处理的排序更有效和稳定,并且在方法层面上Jupta与使用覆盖信息的优先级排序技术一样有效和稳定。
{"title":"Prioritizing JUnit test cases in absence of coverage information","authors":"Lingming Zhang, Ji Zhou, Dan Hao, Lu Zhang, Hong Mei","doi":"10.1109/ICSM.2009.5306350","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306350","url":null,"abstract":"Better orderings of test cases can detect faults in less time with fewer resources, and thus make the debugging process earlier and accelerate software delivery. As a result, test case prioritization has become a hot topic in the research of regression testing. With the popularity of using the JUnit testing framework for developing Java software, researchers also paid attention to techniques for prioritizing JUnit test cases in regression testing of Java software. Typically, most of them are based on coverage information of test cases. However, coverage information may need extra costs to acquire. In this paper, we propose an approach (named Jupta) for prioritizing JUnit test cases in absence of coverage information. Jupta statically analyzes call graphs of JUnit test cases and the software under test to estimate the test ability (TA) of each test case. Furthermore, Jupta provides two prioritization techniques: the total TA based technique (denoted as JuptaT) and the additional TA based technique (denoted as JuptaA). To evaluate Jupta, we performed an experimental study on two open source Java programs, containing 11 versions in total. The experimental results indicate that Jupta is more effective and stable than the untreated orderings and Jupta is approximately as effective and stable as prioritization techniques using coverage information at the method level.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114867069","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}
引用次数: 57
Visualizing the Java heap demonstration proposal 可视化Java堆演示建议
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306287
S. Reiss
Many of the problems that occur in long-running systems involve the way that the system uses memory. We have developed a framework for extracting and building a model of the heap from a running Java system. Such a model is only useful if the programmer can extract from it the information they need to understand, find, and eventually fix memory-related problems in their system. We propose to demonstrate the tool in action, showing how it works dynamically on running processes and how it is designed to address a variety of specific memory issues.
在长时间运行的系统中发生的许多问题都与系统使用内存的方式有关。我们已经开发了一个框架,用于从运行的Java系统中提取和构建堆模型。只有当程序员能够从中提取出他们需要理解、发现并最终修复系统中与内存相关的问题的信息时,这样的模型才有用。我们建议演示该工具的实际应用,展示它如何在运行的进程上动态工作,以及如何设计它来解决各种特定的内存问题。
{"title":"Visualizing the Java heap demonstration proposal","authors":"S. Reiss","doi":"10.1109/ICSM.2009.5306287","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306287","url":null,"abstract":"Many of the problems that occur in long-running systems involve the way that the system uses memory. We have developed a framework for extracting and building a model of the heap from a running Java system. Such a model is only useful if the programmer can extract from it the information they need to understand, find, and eventually fix memory-related problems in their system. We propose to demonstrate the tool in action, showing how it works dynamically on running processes and how it is designed to address a variety of specific memory issues.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"11254 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128531715","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
Playing roles in design patterns: An empirical descriptive and analytic study 在设计模式中扮演角色:一项实证描述和分析研究
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306327
Foutse Khomh, Yann-Gaël Guéhéneuc, G. Antoniol
This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six different design patterns (and combinations thereof). First, we answer three research questions showing that (1) classes playing one or two roles do exist in programs and are not negligible and that there are significant differences among the (2) internal (class metrics) and (3) external (change-proneness) characteristics of classes playing zero, one, or two roles. Second, we revisit a previous work on design patterns and changeability and show that its results were, in a great part, due to classes playing two roles. Third, we exemplify the use of the study results to provide a ranking of the occurrences of the design patterns identified in a program. The ranking allows developers to balance precision and recall.
这项工作对在六种不同的设计模式(及其组合)中扮演零个、一个或两个角色的类进行了描述性和分析性研究。首先,我们回答了三个研究问题,表明(1)扮演一个或两个角色的类在项目中确实存在,并且不可忽略,(2)扮演零、一或两个角色的类的内部(类度量)和(3)外部(变化倾向)特征之间存在显著差异。其次,我们回顾了之前关于设计模式和可变性的工作,并表明其结果在很大程度上是由于类扮演了两个角色。第三,我们举例说明了研究结果的使用,以提供在程序中确定的设计模式出现的排名。排名允许开发者平衡准确率和召回率。
{"title":"Playing roles in design patterns: An empirical descriptive and analytic study","authors":"Foutse Khomh, Yann-Gaël Guéhéneuc, G. Antoniol","doi":"10.1109/ICSM.2009.5306327","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306327","url":null,"abstract":"This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six different design patterns (and combinations thereof). First, we answer three research questions showing that (1) classes playing one or two roles do exist in programs and are not negligible and that there are significant differences among the (2) internal (class metrics) and (3) external (change-proneness) characteristics of classes playing zero, one, or two roles. Second, we revisit a previous work on design patterns and changeability and show that its results were, in a great part, due to classes playing two roles. Third, we exemplify the use of the study results to provide a ranking of the occurrences of the design patterns identified in a program. The ranking allows developers to balance precision and recall.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130920391","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}
引用次数: 35
Software change classification using hunk metrics 使用块度量的软件变更分类
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306274
Javed Ferzund, S. Ahsan, F. Wotawa
Change management is a challenging task in software maintenance. Changes are made to the software during its whole life. Some of these changes introduce errors in the code which result in failures. Software changes are composed of small code units called hunks, dispersed in source code files. In this paper we present a technique for classifying software changes based on hunk metrics. We classify individual hunks as buggy or bug-free, thus we provide an approach for bug prediction at the smallest level of granularity. We introduce a set of hunk metrics and build classification models based on these metrics. Classification models are built using logistic regression and random forests. We evaluated the performance of our approach on 7 open source software projects. Our classification approach can classify hunks as buggy or bug free with 81 percent accuracy, 77 percent buggy hunk precision and 67 percent buggy hunk recall on average. Most of the hunk metrics are significant predictors of bugs but the set of significant metrics varies among different projects.
变更管理是软件维护中一项具有挑战性的任务。更改是在软件的整个生命周期中进行的。其中一些更改会在代码中引入错误,从而导致失败。软件更改由称为块的小代码单元组成,分散在源代码文件中。在本文中,我们提出了一种基于块度量对软件变更进行分类的技术。我们将单个块分类为有bug或无bug,因此我们提供了一种在最小粒度级别上进行bug预测的方法。我们引入了一组大块指标,并基于这些指标构建了分类模型。使用逻辑回归和随机森林建立分类模型。我们在7个开源软件项目中评估了我们的方法的性能。我们的分类方法可以以81%的准确率,77%的错误块精度和67%的错误块召回率将块分类为有bug或无bug。大多数大块指标都是bug的重要预测指标,但重要指标的集合在不同的项目中是不同的。
{"title":"Software change classification using hunk metrics","authors":"Javed Ferzund, S. Ahsan, F. Wotawa","doi":"10.1109/ICSM.2009.5306274","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306274","url":null,"abstract":"Change management is a challenging task in software maintenance. Changes are made to the software during its whole life. Some of these changes introduce errors in the code which result in failures. Software changes are composed of small code units called hunks, dispersed in source code files. In this paper we present a technique for classifying software changes based on hunk metrics. We classify individual hunks as buggy or bug-free, thus we provide an approach for bug prediction at the smallest level of granularity. We introduce a set of hunk metrics and build classification models based on these metrics. Classification models are built using logistic regression and random forests. We evaluated the performance of our approach on 7 open source software projects. Our classification approach can classify hunks as buggy or bug free with 81 percent accuracy, 77 percent buggy hunk precision and 67 percent buggy hunk recall on average. Most of the hunk metrics are significant predictors of bugs but the set of significant metrics varies among different projects.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126923631","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}
引用次数: 8
Abstracting the template instantiation relation in C++ c++中模板实例化关系的抽象
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306392
A. Sutton, Ryan Holeman, Jonathan I. Maletic
A source code model that supports the static analysis of C++ templates and template metaprograms is presented. Analogous to techniques for object-oriented and procedural software (e.g., the abstraction of call graphs, inheritance hierarchies, etc.), this model provides a basis for maintenance concerns such as program comprehension, fact extraction, and impact analysis of generic code. The source code model is used to derive the template instantiation graph, and potential applications of this model discussed. An application to reverse engineer this model from source code is described.
提出了一个支持c++模板和模板元程序静态分析的源代码模型。类似于面向对象和过程化软件的技术(例如,调用图的抽象、继承层次结构等),该模型为诸如程序理解、事实提取和泛型代码的影响分析等维护关注点提供了基础。利用源代码模型推导出模板实例化图,并讨论了该模型的潜在应用。描述了从源代码对该模型进行逆向工程的应用程序。
{"title":"Abstracting the template instantiation relation in C++","authors":"A. Sutton, Ryan Holeman, Jonathan I. Maletic","doi":"10.1109/ICSM.2009.5306392","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306392","url":null,"abstract":"A source code model that supports the static analysis of C++ templates and template metaprograms is presented. Analogous to techniques for object-oriented and procedural software (e.g., the abstraction of call graphs, inheritance hierarchies, etc.), this model provides a basis for maintenance concerns such as program comprehension, fact extraction, and impact analysis of generic code. The source code model is used to derive the template instantiation graph, and potential applications of this model discussed. An application to reverse engineer this model from source code is described.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130670911","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}
引用次数: 2
Recovering traceability links between a simple natural language sentence and source code using domain ontologies 使用领域本体恢复简单自然语言句子和源代码之间的可追溯性链接
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306390
Takashi Yoshikawa, Shinpei Hayashi, M. Saeki
This paper proposes an ontology-based technique for recovering traceability links between a natural language sentence specifying features of a software product and the source code of the product. Some software products have been released without detailed documentation. To automatically detect code fragments associated with the functional descriptions written in the form of simple sentences, the relationships between source code structures and problem domains are important. In our approach, we model the knowledge of the problem domains as domain ontologies. By using semantic relationships of the ontologies in addition to method invocation relationships and the similarity between an identifier on the code and words in the sentences, we can detect code fragments corresponding to the sentences. A case study within a domain of painting software shows that we obtained results of higher quality than without ontologies.
本文提出了一种基于本体的技术,用于恢复指定软件产品特征的自然语言句子与产品源代码之间的可追溯性链接。一些软件产品的发布没有详细的文档说明。为了自动检测与以简单句子形式编写的功能描述相关的代码片段,源代码结构和问题域之间的关系非常重要。在我们的方法中,我们将问题域的知识建模为域本体。利用本体的语义关系、方法调用关系以及代码上的标识符与句子中单词的相似度,可以检测出与句子对应的代码片段。一个绘画软件领域的案例研究表明,我们获得的结果比没有本体论的结果质量更高。
{"title":"Recovering traceability links between a simple natural language sentence and source code using domain ontologies","authors":"Takashi Yoshikawa, Shinpei Hayashi, M. Saeki","doi":"10.1109/ICSM.2009.5306390","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306390","url":null,"abstract":"This paper proposes an ontology-based technique for recovering traceability links between a natural language sentence specifying features of a software product and the source code of the product. Some software products have been released without detailed documentation. To automatically detect code fragments associated with the functional descriptions written in the form of simple sentences, the relationships between source code structures and problem domains are important. In our approach, we model the knowledge of the problem domains as domain ontologies. By using semantic relationships of the ontologies in addition to method invocation relationships and the similarity between an identifier on the code and words in the sentences, we can detect code fragments corresponding to the sentences. A case study within a domain of painting software shows that we obtained results of higher quality than without ontologies.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116784669","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}
引用次数: 13
Software maintenance in complying with IT governance: A report from the field 遵循IT治理的软件维护:来自该领域的报告
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306285
N. Chapin
In the 2000–2009 decade, most medium and large-size computer-using organizations incurred major cost increases in complying with IT governance. Field observation indicates that information systems maintenance, appropriately selected and done, can yield a net benefit mitigating the growth in compliance costs. This report identifies and briefly describes more than a dozen usage situations of software maintenance that appear to be the most relevant for reducing the rising cost of compliance with IT governance.
在2000-2009年的十年中,大多数使用中型和大型计算机的组织在遵守IT治理方面产生了主要的成本增加。实地观察表明,适当选择和进行的信息系统维护可以产生减少遵守费用增长的净效益。本报告确定并简要描述了十多种软件维护的使用情况,这些情况似乎与减少遵从IT治理的不断上升的成本最相关。
{"title":"Software maintenance in complying with IT governance: A report from the field","authors":"N. Chapin","doi":"10.1109/ICSM.2009.5306285","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306285","url":null,"abstract":"In the 2000–2009 decade, most medium and large-size computer-using organizations incurred major cost increases in complying with IT governance. Field observation indicates that information systems maintenance, appropriately selected and done, can yield a net benefit mitigating the growth in compliance costs. This report identifies and briefly describes more than a dozen usage situations of software maintenance that appear to be the most relevant for reducing the rising cost of compliance with IT governance.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115835867","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
期刊
2009 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