首页 > 最新文献

2009 IEEE International Conference on Software Maintenance最新文献

英文 中文
Towards a distributed execution framework for JUnit test cases 面向JUnit测试用例的分布式执行框架
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306292
T. Parveen, S. Tilley, Nigel Daley, Pedro Morales
JUnit is the de-facto framework for creating and executing unit tests. This paper introduces a distributed execution framework for JUnit test cases called HadoopUnit, which is built upon Hadoop: an open-source platform for running applications that process vast amounts of data on large clusters built of commodity hardware. The primary motivation behind developing HadoopUnit was to test Hadoop production code using the Hadoop platform itself: existing approaches to testing the system were taking too long to run to completion, and were unable to provide feedback to the developers in a timely manner. Preliminary results suggest that HadoopUnit can reduce test execution time significantly: a 150-node cluster has produced a 30x improvement. HadoopUnit can be used by anyone for testing an application as long as they have access to a computing cluster with the Hadoop software installed and running.
JUnit是创建和执行单元测试的实际框架。本文介绍了一个名为HadoopUnit的用于JUnit测试用例的分布式执行框架,它建立在Hadoop之上:Hadoop是一个开源平台,用于运行在商用硬件构建的大型集群上处理大量数据的应用程序。开发HadoopUnit的主要动机是使用Hadoop平台本身测试Hadoop生产代码:现有的测试系统的方法耗时太长,无法及时向开发人员提供反馈。初步结果表明,HadoopUnit可以显著减少测试执行时间:150个节点的集群产生了30倍的改进。任何人都可以使用HadoopUnit来测试应用程序,只要他们可以访问安装并运行Hadoop软件的计算集群。
{"title":"Towards a distributed execution framework for JUnit test cases","authors":"T. Parveen, S. Tilley, Nigel Daley, Pedro Morales","doi":"10.1109/ICSM.2009.5306292","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306292","url":null,"abstract":"JUnit is the de-facto framework for creating and executing unit tests. This paper introduces a distributed execution framework for JUnit test cases called HadoopUnit, which is built upon Hadoop: an open-source platform for running applications that process vast amounts of data on large clusters built of commodity hardware. The primary motivation behind developing HadoopUnit was to test Hadoop production code using the Hadoop platform itself: existing approaches to testing the system were taking too long to run to completion, and were unable to provide feedback to the developers in a timely manner. Preliminary results suggest that HadoopUnit can reduce test execution time significantly: a 150-node cluster has produced a 30x improvement. HadoopUnit can be used by anyone for testing an application as long as they have access to a computing cluster with the Hadoop software installed and running.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"3 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":"130078861","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}
引用次数: 33
Scalable and incremental clone detection for evolving software 可扩展和增量克隆检测不断发展的软件
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306283
T. Nguyen, H. Nguyen, Jafar M. Al-Kofahi, N. Pham, T. Nguyen
Code clone management has been shown to have several benefits for software developers. When source code evolves, clone management requires a mechanism to efficiently and incrementally detect code clones in the new revision. This paper introduces an incremental clone detection tool, called ClemanX. Our tool represents code fragments as subtrees of Abstract Syntax Trees (ASTs), measures their similarity levels based on their characteristic vectors of structural features, and solves the task of incrementally detecting similar code as an incremental distance-based clustering problem. Our empirical evaluation on large-scale software projects shows the usefulness and good performance of ClemanX.
代码克隆管理已经被证明对软件开发人员有几个好处。当源代码发展时,克隆管理需要一种机制来有效地、增量地检测新版本中的代码克隆。本文介绍了一个增量克隆检测工具,称为ClemanX。该工具将代码片段表示为抽象语法树(ast)的子树,基于结构特征的特征向量度量它们的相似性水平,并将增量检测相似代码的任务解决为基于增量距离的聚类问题。我们对大型软件项目的实证评估显示了ClemanX的实用性和良好的性能。
{"title":"Scalable and incremental clone detection for evolving software","authors":"T. Nguyen, H. Nguyen, Jafar M. Al-Kofahi, N. Pham, T. Nguyen","doi":"10.1109/ICSM.2009.5306283","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306283","url":null,"abstract":"Code clone management has been shown to have several benefits for software developers. When source code evolves, clone management requires a mechanism to efficiently and incrementally detect code clones in the new revision. This paper introduces an incremental clone detection tool, called ClemanX. Our tool represents code fragments as subtrees of Abstract Syntax Trees (ASTs), measures their similarity levels based on their characteristic vectors of structural features, and solves the task of incrementally detecting similar code as an incremental distance-based clustering problem. Our empirical evaluation on large-scale software projects shows the usefulness and good performance of ClemanX.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"180 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":"124498941","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}
引用次数: 45
Decomposing object-oriented class modules using an agglomerative clustering technique 使用聚合聚类技术分解面向对象类模块
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306332
Marios Fokaefs, Nikolaos Tsantalis, A. Chatzigeorgiou, J. Sander
Software can be considered a live entity, as it undergoes many alterations throughout its lifecycle. Furthermore, developers do not usually retain a good design in favor of adding new features, comply with requirements or meet deadlines. For these reasons, code can become rather complex and difficult to understand. More particularly in object-oriented systems, classes may become very large and less cohesive. In order to identify such problematic cases, existing approaches have proposed the use of cohesion metrics. However, while metrics can identify classes with low cohesion, they cannot identify new or independent concepts. Moreover, these methods require a lot of human interpretation to identify the respective design flaws. In this paper, we propose a class decomposition method using an agglomerative clustering algorithm based on the Jaccard distance between class members. Our methodology is able to identify new concepts and rank the solutions according to their impact on the design quality of the system. Finally, our method has been evaluated by two independent designers who were asked to comment on the suggestions produced by our technique on their projects. The designers provided feedback on the ability of the method to identify new concepts and improve the design quality of the system in terms of cohesion.
软件可以被认为是一个活的实体,因为它在整个生命周期中经历了许多变化。此外,开发人员通常不会保留一个好的设计,而倾向于添加新功能、遵守需求或满足最后期限。由于这些原因,代码可能变得相当复杂和难以理解。更具体地说,在面向对象系统中,类可能变得非常大,并且缺乏内聚性。为了识别这些有问题的情况,现有的方法建议使用内聚度量。然而,虽然度量可以识别低内聚的类,但它们不能识别新的或独立的概念。此外,这些方法需要大量的人为解释来识别各自的设计缺陷。本文提出一种基于类成员间Jaccard距离的聚类分解方法。我们的方法能够识别新概念,并根据它们对系统设计质量的影响对解决方案进行排名。最后,两位独立设计师对我们的方法进行了评估,他们被要求对我们的技术在他们的项目中产生的建议进行评论。设计师就该方法在识别新概念和提高系统内聚性设计质量方面的能力提供了反馈。
{"title":"Decomposing object-oriented class modules using an agglomerative clustering technique","authors":"Marios Fokaefs, Nikolaos Tsantalis, A. Chatzigeorgiou, J. Sander","doi":"10.1109/ICSM.2009.5306332","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306332","url":null,"abstract":"Software can be considered a live entity, as it undergoes many alterations throughout its lifecycle. Furthermore, developers do not usually retain a good design in favor of adding new features, comply with requirements or meet deadlines. For these reasons, code can become rather complex and difficult to understand. More particularly in object-oriented systems, classes may become very large and less cohesive. In order to identify such problematic cases, existing approaches have proposed the use of cohesion metrics. However, while metrics can identify classes with low cohesion, they cannot identify new or independent concepts. Moreover, these methods require a lot of human interpretation to identify the respective design flaws. In this paper, we propose a class decomposition method using an agglomerative clustering algorithm based on the Jaccard distance between class members. Our methodology is able to identify new concepts and rank the solutions according to their impact on the design quality of the system. Finally, our method has been evaluated by two independent designers who were asked to comment on the suggestions produced by our technique on their projects. The designers provided feedback on the ability of the method to identify new concepts and improve the design quality of the system in terms of cohesion.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"444 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":"133568075","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}
引用次数: 63
Guide: A GUI differentiator 指南:GUI区分器
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306286
Qing Xie, M. Grechanik, Chen Fu, Chad M. Cumby
Applications with Graphical User Interfaces (GUIs) are ubiquitous. Nontrivial GUI-based applications (GAPs) evolve frequently, and understanding how GUIs of different versions of GAPs differ is crucial for various tasks such as testing and project effort estimation. We offer a novel approach for comparing GUIs. We built a tool called GUI DifferEntiator (GUIDE) that allows users to visualize differences between GUIs of running GAPs automatically, so that the identified changes can be served as guidance to test the new release of the GAP or to estimate the effort of a project.
具有图形用户界面(gui)的应用程序无处不在。重要的基于gui的应用程序(gap)经常发展,了解不同版本的gap的gui如何不同对于各种任务(如测试和项目工作量估计)至关重要。我们提供了一种比较gui的新方法。我们构建了一个称为GUI鉴别器(GUIDE)的工具,它允许用户自动地可视化运行GAP的GUI之间的差异,以便识别的更改可以作为测试GAP新版本或评估项目工作量的指导。
{"title":"Guide: A GUI differentiator","authors":"Qing Xie, M. Grechanik, Chen Fu, Chad M. Cumby","doi":"10.1109/ICSM.2009.5306286","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306286","url":null,"abstract":"Applications with Graphical User Interfaces (GUIs) are ubiquitous. Nontrivial GUI-based applications (GAPs) evolve frequently, and understanding how GUIs of different versions of GAPs differ is crucial for various tasks such as testing and project effort estimation. We offer a novel approach for comparing GUIs. We built a tool called GUI DifferEntiator (GUIDE) that allows users to visualize differences between GUIs of running GAPs automatically, so that the identified changes can be served as guidance to test the new release of the GAP or to estimate the effort of a project.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"89 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":"131821885","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}
引用次数: 19
Preprocessing the noise in legacy user permission assignment data for role mining — An industrial practice 预处理用于角色挖掘的遗留用户权限分配数据中的噪声-一种工业实践
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306288
Chao Huang, Jianling Sun, Xinyu Wang, Yuanjie Si, Di Wu
Little is known about how to preprocess the noise in legacy access control data when migrating to the Role-based Access Control model. This paper presents an experience report on the noise preprocess method of the legacy access control data of several financial systems. The main goal of this project is to improve the quality of the roles obtained via role mining.
当迁移到基于角色的访问控制模型时,人们对如何预处理遗留访问控制数据中的噪声知之甚少。本文介绍了几个金融系统遗留访问控制数据的噪声预处理方法的经验报告。这个项目的主要目标是提高通过角色挖掘获得的角色的质量。
{"title":"Preprocessing the noise in legacy user permission assignment data for role mining — An industrial practice","authors":"Chao Huang, Jianling Sun, Xinyu Wang, Yuanjie Si, Di Wu","doi":"10.1109/ICSM.2009.5306288","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306288","url":null,"abstract":"Little is known about how to preprocess the noise in legacy access control data when migrating to the Role-based Access Control model. This paper presents an experience report on the noise preprocess method of the legacy access control data of several financial systems. The main goal of this project is to improve the quality of the roles obtained via role mining.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"78 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":"133461642","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
Effective and efficient localization of multiple faults using value replacement 利用价值置换对多故障进行有效、高效的定位
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306303
D. Jeffrey, Neelam Gupta, Rajiv Gupta
We previously presented a fault localization technique called Value Replacement that repeatedly alters the state of an executing program to locate a faulty statement [9]. The technique searches for program statements involving values that can be altered during runtime to cause the incorrect output of a failing run to become correct. We showed that highly effective fault localization results could be achieved by the technique on programs containing single faults. In the current work, we generalize Value Replacement so that it can also perform effectively in the presence of multiple faults. We improve scalability by describing two techniques that significantly improve the efficiency of Value Replacement. In our experimental study, our generalized technique effectively isolates multiple simultaneous faults in time on the order of minutes in each case, whereas in [9], the technique had sometimes required time on the order of hours to isolate only single faults.
我们之前提出了一种名为Value Replacement的故障定位技术,该技术通过反复改变执行程序的状态来定位错误语句[9]。该技术搜索涉及值的程序语句,这些值可以在运行时期间更改,从而使失败运行的错误输出变为正确。结果表明,该方法对包含单个故障的程序可以获得非常有效的故障定位结果。在目前的工作中,我们对价值替换进行了推广,使其在存在多个故障的情况下也能有效地执行。我们通过描述两种显著提高价值替换效率的技术来提高可扩展性。在我们的实验研究中,我们的广义技术在每一种情况下都能在几分钟的时间内有效地隔离多个同时发生的故障,而在[9]中,该技术有时需要数小时的时间来隔离单个故障。
{"title":"Effective and efficient localization of multiple faults using value replacement","authors":"D. Jeffrey, Neelam Gupta, Rajiv Gupta","doi":"10.1109/ICSM.2009.5306303","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306303","url":null,"abstract":"We previously presented a fault localization technique called Value Replacement that repeatedly alters the state of an executing program to locate a faulty statement [9]. The technique searches for program statements involving values that can be altered during runtime to cause the incorrect output of a failing run to become correct. We showed that highly effective fault localization results could be achieved by the technique on programs containing single faults. In the current work, we generalize Value Replacement so that it can also perform effectively in the presence of multiple faults. We improve scalability by describing two techniques that significantly improve the efficiency of Value Replacement. In our experimental study, our generalized technique effectively isolates multiple simultaneous faults in time on the order of minutes in each case, whereas in [9], the technique had sometimes required time on the order of hours to isolate only single faults.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"24 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":"115577073","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
Analyzing the evolution of user-visible features: A case study with Eclipse 分析用户可见特性的演变:Eclipse的案例研究
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306276
Daqing Hou, Yuejiao Wang
Integrated Development Environments (IDEs) help increase programmer productivity by automating much clerical and administrative work. Thus, it is of great research and practical interest to learn about the characteristics on how IDE features change and mature. To this end, we have conducted an empirical study, analyzing a total of 645 “What's New” release note entries in 7 releases of the Eclipse IDE both quantitatively and qualitatively. It is found that majority of the changes are refinements or incremental additions to the feature architecture set up in early releases (1.0 and 2.0). Motivated by this, a further analysis on usability is performed to characterize how these changes impact programmers effectiveness in using the IDE. We summarize our study methodology and lessons learned.
集成开发环境(ide)通过自动化许多文书和管理工作来帮助提高程序员的生产力。因此,了解IDE特性如何变化和成熟的特点具有重要的研究和实际意义。为此,我们进行了一项实证研究,定量和定性地分析了Eclipse IDE的7个版本中总共645个“What's New”发布说明条目。我们发现,大多数变化是对早期版本(1.0和2.0)中设置的特性体系结构的改进或增量添加。受此启发,对可用性进行了进一步的分析,以描述这些更改如何影响程序员使用IDE的效率。总结了我们的研究方法和经验教训。
{"title":"Analyzing the evolution of user-visible features: A case study with Eclipse","authors":"Daqing Hou, Yuejiao Wang","doi":"10.1109/ICSM.2009.5306276","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306276","url":null,"abstract":"Integrated Development Environments (IDEs) help increase programmer productivity by automating much clerical and administrative work. Thus, it is of great research and practical interest to learn about the characteristics on how IDE features change and mature. To this end, we have conducted an empirical study, analyzing a total of 645 “What's New” release note entries in 7 releases of the Eclipse IDE both quantitatively and qualitatively. It is found that majority of the changes are refinements or incremental additions to the feature architecture set up in early releases (1.0 and 2.0). Motivated by this, a further analysis on usability is performed to characterize how these changes impact programmers effectiveness in using the IDE. We summarize our study methodology and lessons learned.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"16 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":"129714627","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}
引用次数: 4
Evolution analysis with animated and 3D-visualizations 进化分析与动画和3d可视化
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306279
Sven Wenzel, J. Koch, U. Kelter, A. Kolb
Large software systems typically exist in many revisions. In order to analyze such systems, their evolution needs to be analyzed, too. The main challenge in this context is to cope with the large volume of data and to visualize the system and its evolution as a whole. This paper presents an approach for visualizing the evolution of large-scale systems which uses three different, tightly integrated visualizations that are 3-dimensional and/or animated and which support different analysis tasks. According to a first empirical study, all tasks are supported well by at least one visualization.
大型软件系统通常存在于许多版本中。为了分析这样的系统,它们的演化也需要被分析。在这种情况下的主要挑战是处理大量数据,并将系统及其演变作为一个整体可视化。本文提出了一种可视化大规模系统演变的方法,它使用三种不同的、紧密集成的可视化,这些可视化是三维的和/或动画的,并支持不同的分析任务。根据第一个实证研究,所有的任务都有至少一个可视化的支持。
{"title":"Evolution analysis with animated and 3D-visualizations","authors":"Sven Wenzel, J. Koch, U. Kelter, A. Kolb","doi":"10.1109/ICSM.2009.5306279","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306279","url":null,"abstract":"Large software systems typically exist in many revisions. In order to analyze such systems, their evolution needs to be analyzed, too. The main challenge in this context is to cope with the large volume of data and to visualize the system and its evolution as a whole. This paper presents an approach for visualizing the evolution of large-scale systems which uses three different, tightly integrated visualizations that are 3-dimensional and/or animated and which support different analysis tasks. According to a first empirical study, all tasks are supported well by at least one visualization.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"10 1 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":"126205564","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
Software maintainability benefits from annotation-driven code 软件的可维护性得益于注释驱动的代码
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306295
L. Nigul, Ernest Mah
Java annotations and their predecessors XDoclet annotations are well positioned to offer a substantial benefit for developing and maintaining software by combining relevant metadata together with the code that makes use of them. In this paper we share the insights that we gained by developing the J2EE Connector Tools suite, which is part of IBM Rational Application Developer. This tools suite is used to generate annotated Java code capable of connecting to Enterprise Information Systems through the Java EE Connector APIs. The generated code is annotation driven, and in the paper we show how the annotations in the generated code helped us to achieve a high degree of efficient code maintenance for the tools that generate the code as well as for the generated code itself.
Java注释及其前身XDoclet注释通过将相关元数据与使用它们的代码组合在一起,很好地为开发和维护软件提供了实质性的好处。在本文中,我们将分享我们通过开发J2EE连接器工具套件(它是IBM Rational Application Developer的一部分)所获得的见解。该工具套件用于生成带注释的Java代码,这些代码能够通过Java EE Connector api连接到企业信息系统。生成的代码是由注释驱动的,在本文中,我们展示了生成代码中的注释如何帮助我们实现对生成代码的工具以及生成的代码本身的高度高效的代码维护。
{"title":"Software maintainability benefits from annotation-driven code","authors":"L. Nigul, Ernest Mah","doi":"10.1109/ICSM.2009.5306295","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306295","url":null,"abstract":"Java annotations and their predecessors XDoclet annotations are well positioned to offer a substantial benefit for developing and maintaining software by combining relevant metadata together with the code that makes use of them. In this paper we share the insights that we gained by developing the J2EE Connector Tools suite, which is part of IBM Rational Application Developer. This tools suite is used to generate annotated Java code capable of connecting to Enterprise Information Systems through the Java EE Connector APIs. The generated code is annotation driven, and in the paper we show how the annotations in the generated code helped us to achieve a high degree of efficient code maintenance for the tools that generate the code as well as for the generated code itself.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"33 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":"128125769","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
An empirical study on the risks of using off-the-shelf techniques for processing mailing list data 关于使用现成技术处理邮件列表数据的风险的实证研究
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306383
Nicolas Bettenburg, Emad Shihab, A. Hassan
Mailing list repositories contain valuable information about the history of a project. Research is starting to mine this information to support developers and maintainers of long-lived software projects. However, such information exists as unstructured data that needs special processing before it can be studied. In this paper, we identify several challenges that arise when using off-the-shelf techniques for processing mailing list data. Our study highlights the importance of proper processing of mailing list data to ensure accurate research results.
邮件列表存储库包含有关项目历史的有价值的信息。研究人员开始挖掘这些信息,以支持长期软件项目的开发人员和维护者。然而,这些信息以非结构化数据的形式存在,需要经过特殊处理才能进行研究。在本文中,我们确定了使用现成技术处理邮件列表数据时出现的几个挑战。我们的研究强调了正确处理邮件列表数据以确保准确研究结果的重要性。
{"title":"An empirical study on the risks of using off-the-shelf techniques for processing mailing list data","authors":"Nicolas Bettenburg, Emad Shihab, A. Hassan","doi":"10.1109/ICSM.2009.5306383","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306383","url":null,"abstract":"Mailing list repositories contain valuable information about the history of a project. Research is starting to mine this information to support developers and maintainers of long-lived software projects. However, such information exists as unstructured data that needs special processing before it can be studied. In this paper, we identify several challenges that arise when using off-the-shelf techniques for processing mailing list data. Our study highlights the importance of proper processing of mailing list data to ensure accurate research results.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"68 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":"130003015","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}
引用次数: 37
期刊
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