首页 > 最新文献

2013 35th International Conference on Software Engineering (ICSE)最新文献

英文 中文
2nd International workshop on realizing artificial intelligence synergies in software engineering (RAISE 2013) 第二届在软件工程中实现人工智能协同效应国际研讨会(RAISE 2013)
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606778
R. Harrison, S. Greenspan, T. Menzies, M. Mernik, P. Henriques, Daniela Carneiro da Cruz, Daniel Rodríguez
The RAISE'13 workshop brought together researchers from the AI and software engineering disciplines to build on the interdisciplinary synergies which exist and to stimulate research across these disciplines. The first part of the workshop was devoted to current results and consisted of presentations and discussion of the state of the art. This was followed by a second part which looked over the horizon to seek future directions, inspired by a number of selected vision statements concerning the AI-and-SE crossover. The goal of the RAISE workshop was to strengthen the AI-and-SE community and also develop a roadmap of strategic research directions for AI and software engineering.
RAISE’13研讨会汇集了来自人工智能和软件工程学科的研究人员,以建立现有的跨学科协同效应,并促进这些学科之间的研究。讲习班的第一部分专门讨论当前的成果,包括介绍和讨论最新的技术状况。接下来的第二部分是展望未来,寻求未来的方向,灵感来自于一些关于人工智能和人工智能交叉的愿景陈述。RAISE研讨会的目标是加强人工智能和软件工程社区,并为人工智能和软件工程制定战略研究方向的路线图。
{"title":"2nd International workshop on realizing artificial intelligence synergies in software engineering (RAISE 2013)","authors":"R. Harrison, S. Greenspan, T. Menzies, M. Mernik, P. Henriques, Daniela Carneiro da Cruz, Daniel Rodríguez","doi":"10.1109/ICSE.2013.6606778","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606778","url":null,"abstract":"The RAISE'13 workshop brought together researchers from the AI and software engineering disciplines to build on the interdisciplinary synergies which exist and to stimulate research across these disciplines. The first part of the workshop was devoted to current results and consisted of presentations and discussion of the state of the art. This was followed by a second part which looked over the horizon to seek future directions, inspired by a number of selected vision statements concerning the AI-and-SE crossover. The goal of the RAISE workshop was to strengthen the AI-and-SE community and also develop a roadmap of strategic research directions for AI and software engineering.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128676226","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
A large scale Linux-Kernel based benchmark for feature location research 一个大规模的基于linux内核的特征定位研究基准
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606705
Zhenchang Xing, Yinxing Xue, S. Jarzabek
Many software maintenance tasks require locating code units that implement a certain feature (termed as feature location). Feature location has been an active research area for more than two decades. However, there is lack of publicly available, large scale benchmarks for e valuating and comparing feature location approaches. In this paper, we present a LinuxKernel based benchmark for feature location research. This benchmark is large scale and extensible. By providing rich feature and program information and accurate ground-truth links between features and code units, it supports the e valuation of a wide range of feature location approaches. It allows researchers to gain deeper insights into existing approaches and how they can be improved. It also enables communication and collaboration among different researchers. (video: http://www.youtube.com/watch?v=3D_HihwRNeK3I).
许多软件维护任务需要定位实现某个特性的代码单元(称为特性定位)。二十多年来,特征定位一直是一个活跃的研究领域。然而,缺乏公开可用的、大规模的评估和比较特征定位方法的基准。本文提出了一个基于LinuxKernel的特征定位研究基准。这个基准是大规模的和可扩展的。通过提供丰富的特性和程序信息,以及在特性和代码单元之间精确的真实联系,它支持对范围广泛的特性定位方法进行评估。它使研究人员能够更深入地了解现有的方法以及如何改进它们。它还使不同研究人员之间的交流和合作成为可能。(视频:http://www.youtube.com/watch?v=3D_HihwRNeK3I)。
{"title":"A large scale Linux-Kernel based benchmark for feature location research","authors":"Zhenchang Xing, Yinxing Xue, S. Jarzabek","doi":"10.1109/ICSE.2013.6606705","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606705","url":null,"abstract":"Many software maintenance tasks require locating code units that implement a certain feature (termed as feature location). Feature location has been an active research area for more than two decades. However, there is lack of publicly available, large scale benchmarks for e valuating and comparing feature location approaches. In this paper, we present a LinuxKernel based benchmark for feature location research. This benchmark is large scale and extensible. By providing rich feature and program information and accurate ground-truth links between features and code units, it supports the e valuation of a wide range of feature location approaches. It allows researchers to gain deeper insights into existing approaches and how they can be improved. It also enables communication and collaboration among different researchers. (video: http://www.youtube.com/watch?v=3D_HihwRNeK3I).","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117025412","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
Requirements modelling by synthesis of deontic input-output automata 基于道义输入输出自动机的需求建模
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606605
Emmanuel Letier, W. Heaven
Requirements modelling helps software engineers understand a system's required behaviour and explore alternative system designs. It also generates a formal software specification that can be used for testing, verification, and debugging. However, elaborating such models requires expertise and significant human effort. The paper aims at reducing this effort by automating an essential activity of requirements modelling which consists in deriving a machine specification satisfying a set of goals in a domain. It introduces deontic input-output automata - an extension of input-output automata with permissions and obligations - and an automated synthesis technique over this formalism to support such derivation. This technique helps modellers identifying early when a goal is not realizable in a domain and can guide the exploration of alternative models to make goals realizable. Synthesis techniques for input-output or interface automata are not adequate for requirements modelling.
需求建模帮助软件工程师理解系统所需的行为,并探索可选择的系统设计。它还生成可用于测试、验证和调试的正式软件规范。然而,详细阐述这样的模型需要专业知识和大量的人力。本文旨在通过自动化需求建模的基本活动来减少这种工作量,该活动包括派生满足领域中一组目标的机器规范。它引入了道义输入-输出自动机——一种具有权限和义务的输入-输出自动机的扩展——以及一种基于这种形式的自动合成技术来支持这种派生。这种技术可以帮助建模人员在一个领域中目标不可实现的时候及早识别,并且可以指导对替代模型的探索,使目标可实现。用于输入-输出或接口自动机的综合技术不适用于需求建模。
{"title":"Requirements modelling by synthesis of deontic input-output automata","authors":"Emmanuel Letier, W. Heaven","doi":"10.1109/ICSE.2013.6606605","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606605","url":null,"abstract":"Requirements modelling helps software engineers understand a system's required behaviour and explore alternative system designs. It also generates a formal software specification that can be used for testing, verification, and debugging. However, elaborating such models requires expertise and significant human effort. The paper aims at reducing this effort by automating an essential activity of requirements modelling which consists in deriving a machine specification satisfying a set of goals in a domain. It introduces deontic input-output automata - an extension of input-output automata with permissions and obligations - and an automated synthesis technique over this formalism to support such derivation. This technique helps modellers identifying early when a goal is not realizable in a domain and can guide the exploration of alternative models to make goals realizable. Synthesis techniques for input-output or interface automata are not adequate for requirements modelling.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115203802","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}
引用次数: 25
Learning revised models for planning in adaptive systems 学习自适应系统中规划的修正模型
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606552
Daniel Sykes, Domenico Corapi, J. Magee, J. Kramer, A. Russo, Katsumi Inoue
Environment domain models are a key part of the information used by adaptive systems to determine their behaviour. These models can be incomplete or inaccurate. In addition, since adaptive systems generally operate in environments which are subject to change, these models are often also out of date. To update and correct these models, the system should observe how the environment responds to its actions, and compare these responses to those predicted by the model. In this paper, we use a probabilistic rule learning approach, NoMPRoL, to update models using feedback from the running system in the form of execution traces. NoMPRoL is a technique for nonmonotonic probabilistic rule learning based on a transformation of an inductive logic programming task into an equivalent abductive one. In essence, it exploits consistent observations by finding general rules which explain observations in terms of the conditions under which they occur. The updated models are then used to generate new behaviour with a greater chance of success in the actual environment encountered.
环境域模型是自适应系统用于确定其行为的信息的关键部分。这些模型可能不完整或不准确。此外,由于自适应系统通常在易受变化影响的环境中运行,这些模型也常常是过时的。为了更新和修正这些模型,系统应该观察环境对其行为的反应,并将这些反应与模型预测的反应进行比较。在本文中,我们使用一种概率规则学习方法,NoMPRoL,使用运行系统以执行轨迹的形式反馈来更新模型。NoMPRoL是一种基于将归纳逻辑规划任务转化为等价的溯因逻辑规划任务的非单调概率规则学习技术。从本质上讲,它通过寻找一般规则来利用一致的观察结果,这些规则根据观察结果发生的条件来解释观察结果。然后使用更新的模型来生成在实际环境中更有可能成功的新行为。
{"title":"Learning revised models for planning in adaptive systems","authors":"Daniel Sykes, Domenico Corapi, J. Magee, J. Kramer, A. Russo, Katsumi Inoue","doi":"10.1109/ICSE.2013.6606552","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606552","url":null,"abstract":"Environment domain models are a key part of the information used by adaptive systems to determine their behaviour. These models can be incomplete or inaccurate. In addition, since adaptive systems generally operate in environments which are subject to change, these models are often also out of date. To update and correct these models, the system should observe how the environment responds to its actions, and compare these responses to those predicted by the model. In this paper, we use a probabilistic rule learning approach, NoMPRoL, to update models using feedback from the running system in the form of execution traces. NoMPRoL is a technique for nonmonotonic probabilistic rule learning based on a transformation of an inductive logic programming task into an equivalent abductive one. In essence, it exploits consistent observations by finding general rules which explain observations in terms of the conditions under which they occur. The updated models are then used to generate new behaviour with a greater chance of success in the actual environment encountered.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"33 11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125711161","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}
引用次数: 60
Decision theoretic requirements prioritization A two-step approach for sliding towards value realization 决策理论需求优先排序滑向价值实现的两步方法
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606746
Nupul Kukreja
Budget and schedule constraints limit the number of requirements that can be worked on for a software system and is thus necessary to select the most valuable requirements for implementation. However, selecting from a large number of requirements is a decision problem that requires negotiating with multiple stakeholders and satisficing their value propositions. In this paper I present a two-step value-based requirements prioritization approach based on TOPSIS, a decision analysis framework that tightly integrates decision theory with the process of requirements prioritization. In this two-step approach the software system is initially decomposed into high-level Minimal Marketable Features (MMFs) which the business stakeholders prioritize against business goals. Each individual MMF is further decomposed into low-level requirements/features that are primarily prioritized by the technical stakeholders. The priorities of the low-level requirements are influenced by the MMFs they belong to. This approach has been integrated into Winbook, a social-networking influenced collaborative requirements management framework and deployed for use by 10 real-client project teams for the Software Engineering project course at the University of Southern California in Fall 2012. This model allowed the clients and project teams to effectively gauge the importance of each MMF and low-level requirement and perform various sensitivity analyses and take value-informed decisions when selecting requirements for implementation.
预算和进度约束限制了软件系统可以处理的需求数量,因此选择最有价值的需求来实现是必要的。然而,从大量需求中进行选择是一个决策问题,需要与多个涉众协商并满足他们的价值主张。在本文中,我提出了一种基于TOPSIS的两步基于价值的需求优先排序方法,TOPSIS是一种决策分析框架,它将决策理论与需求优先排序过程紧密结合在一起。在这个两步方法中,软件系统最初被分解为高级的最小可销售特性(mmf),业务涉众根据业务目标对其进行优先级排序。每个单独的MMF被进一步分解为低级需求/特性,这些需求/特性主要由技术涉众确定优先级。低级需求的优先级受到它们所属的mmf的影响。这种方法已经被集成到Winbook中,Winbook是一个受社交网络影响的协作需求管理框架,并在2012年秋季在南加州大学的软件工程项目课程中被10个真实客户端项目团队部署使用。该模型允许客户和项目团队有效地衡量每个MMF和低级需求的重要性,并在选择实现需求时执行各种敏感性分析,并采取价值知情的决策。
{"title":"Decision theoretic requirements prioritization A two-step approach for sliding towards value realization","authors":"Nupul Kukreja","doi":"10.1109/ICSE.2013.6606746","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606746","url":null,"abstract":"Budget and schedule constraints limit the number of requirements that can be worked on for a software system and is thus necessary to select the most valuable requirements for implementation. However, selecting from a large number of requirements is a decision problem that requires negotiating with multiple stakeholders and satisficing their value propositions. In this paper I present a two-step value-based requirements prioritization approach based on TOPSIS, a decision analysis framework that tightly integrates decision theory with the process of requirements prioritization. In this two-step approach the software system is initially decomposed into high-level Minimal Marketable Features (MMFs) which the business stakeholders prioritize against business goals. Each individual MMF is further decomposed into low-level requirements/features that are primarily prioritized by the technical stakeholders. The priorities of the low-level requirements are influenced by the MMFs they belong to. This approach has been integrated into Winbook, a social-networking influenced collaborative requirements management framework and deployed for use by 10 real-client project teams for the Software Engineering project course at the University of Southern California in Fall 2012. This model allowed the clients and project teams to effectively gauge the importance of each MMF and low-level requirement and perform various sensitivity analyses and take value-informed decisions when selecting requirements for implementation.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128180357","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}
引用次数: 21
Toddler: Detecting performance problems via similar memory-access patterns 幼儿:通过类似的内存访问模式检测性能问题
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606602
Adrian Nistor, Linhai Song, D. Marinov, Shan Lu
Performance bugs are programming errors that create significant performance degradation. While developers often use automated oracles for detecting functional bugs, detecting performance bugs usually requires time-consuming, manual analysis of execution profiles. The human effort for performance analysis limits the number of performance tests analyzed and enables performance bugs to easily escape to production. Unfortunately, while profilers can successfully localize slow executing code, profilers cannot be effectively used as automated oracles. This paper presents Toddler, a novel automated oracle for performance bugs, which enables testing for performance bugs to use the well established and automated process of testing for functional bugs. Toddler reports code loops whose computation has repetitive and partially similar memory-access patterns across loop iterations. Such repetitive work is likely unnecessary and can be done faster. We implement Toddler for Java and evaluate it on 9 popular Java codebases. Our experiments with 11 previously known, real-world performance bugs show that Toddler finds these bugs with a higher accuracy than the standard Java profiler. Using Toddler, we also found 42 new bugs in six Java projects: Ant, Google Core Libraries, JUnit, Apache Collections, JDK, and JFreeChart. Based on our bug reports, developers so far fixed 10 bugs and confirmed 6 more as real bugs.
性能bug是导致性能显著下降的编程错误。虽然开发人员经常使用自动化的oracle来检测功能缺陷,但检测性能缺陷通常需要耗时的、手动的执行配置文件分析。人为的性能分析限制了所分析的性能测试的数量,并使性能错误很容易转移到生产环境中。不幸的是,虽然分析器可以成功地本地化执行缓慢的代码,但它不能有效地用作自动化的oracle。本文介绍了一种新的性能错误自动化oracle,它使性能错误的测试能够使用功能错误测试的良好建立和自动化过程。Toddler报告代码循环,其计算在循环迭代中具有重复且部分相似的内存访问模式。这种重复的工作可能是不必要的,可以更快地完成。我们在Java上实现了Toddler,并在9个流行的Java代码库上对其进行了评估。我们对11个已知的、真实世界的性能错误进行的实验表明,Toddler比标准Java分析器更准确地发现了这些错误。使用Toddler,我们还在六个Java项目中发现了42个新bug: Ant、Google Core Libraries、JUnit、Apache Collections、JDK和JFreeChart。根据我们的bug报告,开发人员到目前为止修复了10个bug,并确认了另外6个真正的bug。
{"title":"Toddler: Detecting performance problems via similar memory-access patterns","authors":"Adrian Nistor, Linhai Song, D. Marinov, Shan Lu","doi":"10.1109/ICSE.2013.6606602","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606602","url":null,"abstract":"Performance bugs are programming errors that create significant performance degradation. While developers often use automated oracles for detecting functional bugs, detecting performance bugs usually requires time-consuming, manual analysis of execution profiles. The human effort for performance analysis limits the number of performance tests analyzed and enables performance bugs to easily escape to production. Unfortunately, while profilers can successfully localize slow executing code, profilers cannot be effectively used as automated oracles. This paper presents Toddler, a novel automated oracle for performance bugs, which enables testing for performance bugs to use the well established and automated process of testing for functional bugs. Toddler reports code loops whose computation has repetitive and partially similar memory-access patterns across loop iterations. Such repetitive work is likely unnecessary and can be done faster. We implement Toddler for Java and evaluate it on 9 popular Java codebases. Our experiments with 11 previously known, real-world performance bugs show that Toddler finds these bugs with a higher accuracy than the standard Java profiler. Using Toddler, we also found 42 new bugs in six Java projects: Ant, Google Core Libraries, JUnit, Apache Collections, JDK, and JFreeChart. Based on our bug reports, developers so far fixed 10 bugs and confirmed 6 more as real bugs.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126386162","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}
引用次数: 152
Cassandra: Proactive conflict minimization through optimized task scheduling Cassandra:通过优化任务调度来减少冲突
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606619
B. Kasi, A. Sarma
Software conflicts arising because of conflicting changes are a regular occurrence and delay projects. The main precept of workspace awareness tools has been to identify potential conflicts early, while changes are still small and easier to resolve. However, in this approach conflicts still occur and require developer time and effort to resolve. We present a novel conflict minimization technique that proactively identifies potential conflicts, encodes them as constraints, and solves the constraint space to recommend a set of conflict-minimal development paths for the team. Here we present a study of four open source projects to characterize the distribution of conflicts and their resolution efforts. We then explain our conflict minimization technique and the design and implementation of this technique in our prototype, Cassandra. We show that Cassandra would have successfully avoided a majority of conflicts in the four open source test subjects. We demonstrate the efficiency of our approach by applying the technique to a simulated set of scenarios with higher than normal incidence of conflicts.
由于变更冲突而产生的软件冲突是经常发生的,并且会延迟项目。工作空间感知工具的主要原则是在变更很小且更容易解决的时候尽早识别潜在的冲突。然而,在这种方法中,冲突仍然会发生,并且需要开发人员花费时间和精力来解决。我们提出了一种新的冲突最小化技术,它可以主动识别潜在的冲突,将它们编码为约束,并解决约束空间,从而为团队推荐一组冲突最小化的开发路径。在这里,我们提出了对四个开源项目的研究,以表征冲突的分布及其解决努力。然后,我们解释了我们的冲突最小化技术,以及该技术在我们的原型Cassandra中的设计和实现。我们表明Cassandra可以成功地避免四个开源测试主题中的大多数冲突。我们通过将该技术应用于具有高于正常冲突发生率的一组模拟场景来证明我们方法的效率。
{"title":"Cassandra: Proactive conflict minimization through optimized task scheduling","authors":"B. Kasi, A. Sarma","doi":"10.1109/ICSE.2013.6606619","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606619","url":null,"abstract":"Software conflicts arising because of conflicting changes are a regular occurrence and delay projects. The main precept of workspace awareness tools has been to identify potential conflicts early, while changes are still small and easier to resolve. However, in this approach conflicts still occur and require developer time and effort to resolve. We present a novel conflict minimization technique that proactively identifies potential conflicts, encodes them as constraints, and solves the constraint space to recommend a set of conflict-minimal development paths for the team. Here we present a study of four open source projects to characterize the distribution of conflicts and their resolution efforts. We then explain our conflict minimization technique and the design and implementation of this technique in our prototype, Cassandra. We show that Cassandra would have successfully avoided a majority of conflicts in the four open source test subjects. We demonstrate the efficiency of our approach by applying the technique to a simulated set of scenarios with higher than normal incidence of conflicts.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126517752","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}
引用次数: 84
Integrating Systematic exploration, analysis, and maintenance in software development 在软件开发中集成系统的探索、分析和维护
Pub Date : 2013-05-18 DOI: 10.5555/2486788.2487013
Kivanç Muslu
Modern integrated development environments (IDEs) support one live codebase at a given moment, which imposes limitations to software development. For example, with only one codebase, the developer must pause development while running tests, or a static analysis, as any edit could invalidate the ongoing computation. Were the IDEs supported a copy of developer's codebase, the analyses could have run on this copy, in parallel with the development process. In this paper, we propose techniques and tools that integrate multiple live codebases support to the software development process. Our hypothesis is that IDE support for multiple live codebases can provide a richer development process and aid developers.
现代集成开发环境(ide)在给定时刻支持一个活动代码库,这对软件开发施加了限制。例如,如果只有一个代码库,开发人员必须在运行测试或静态分析时暂停开发,因为任何编辑都可能使正在进行的计算无效。如果ide支持开发人员代码库的副本,则分析可以在该副本上运行,并与开发过程并行。在本文中,我们提出了将多个实时代码库支持集成到软件开发过程中的技术和工具。我们的假设是,IDE对多个实时代码库的支持可以提供更丰富的开发过程并帮助开发人员。
{"title":"Integrating Systematic exploration, analysis, and maintenance in software development","authors":"Kivanç Muslu","doi":"10.5555/2486788.2487013","DOIUrl":"https://doi.org/10.5555/2486788.2487013","url":null,"abstract":"Modern integrated development environments (IDEs) support one live codebase at a given moment, which imposes limitations to software development. For example, with only one codebase, the developer must pause development while running tests, or a static analysis, as any edit could invalidate the ongoing computation. Were the IDEs supported a copy of developer's codebase, the analyses could have run on this copy, in parallel with the development process. In this paper, we propose techniques and tools that integrate multiple live codebases support to the software development process. Our hypothesis is that IDE support for multiple live codebases can provide a richer development process and aid developers.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123753519","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Query quality prediction and reformulation for source code search: The Refoqus tool 源代码搜索的查询质量预测和重构:Refoqus工具
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606704
S. Haiduc, G. D. Rosa, G. Bavota, R. Oliveto, A. D. Lucia, Andrian Marcus
Developers search source code frequently during their daily tasks, to find pieces of code to reuse, to find where to implement changes, etc. Code search based on text retrieval (TR) techniques has been widely used in the software engineering community during the past decade. The accuracy of the TR-based search results depends largely on the quality of the query used. We introduce Refoqus, an Eclipse plugin which is able to automatically detect the quality of a text retrieval query and to propose reformulations for it, when needed, in order to improve the results of TR-based code search. A video of Refoqus is found online at http://www.youtube.com/watch?v=UQlWGiauyk4.
开发人员在日常任务中经常搜索源代码,以找到要重用的代码片段,找到在哪里实现更改,等等。近十年来,基于文本检索(TR)技术的代码搜索在软件工程界得到了广泛的应用。基于tr的搜索结果的准确性在很大程度上取决于所使用查询的质量。我们介绍Refoqus,这是一个Eclipse插件,它能够自动检测文本检索查询的质量,并在需要时为它提出重新表述,以改善基于tr的代码搜索的结果。Refoqus的视频可以在http://www.youtube.com/watch?v=UQlWGiauyk4上找到。
{"title":"Query quality prediction and reformulation for source code search: The Refoqus tool","authors":"S. Haiduc, G. D. Rosa, G. Bavota, R. Oliveto, A. D. Lucia, Andrian Marcus","doi":"10.1109/ICSE.2013.6606704","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606704","url":null,"abstract":"Developers search source code frequently during their daily tasks, to find pieces of code to reuse, to find where to implement changes, etc. Code search based on text retrieval (TR) techniques has been widely used in the software engineering community during the past decade. The accuracy of the TR-based search results depends largely on the quality of the query used. We introduce Refoqus, an Eclipse plugin which is able to automatically detect the quality of a text retrieval query and to propose reformulations for it, when needed, in order to improve the results of TR-based code search. A video of Refoqus is found online at http://www.youtube.com/watch?v=UQlWGiauyk4.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"89 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122453406","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}
引用次数: 21
An evaluation of interactive test-driven labs with WebIDE in CS0 在CS0中使用WebIDE对交互式测试驱动实验室的评价
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606659
David S. Janzen, John Clements, Michael C Hilton
WebIDE is a framework that enables instructors to develop and deliver online lab content with interactive feedback. The ability to create lock-step labs enables the instructor to guide students through learning experiences, demonstrating mastery as they proceed. Feedback is provided through automated evaluators that vary from simple regular expression evaluation to syntactic parsers to applications that compile and run programs and unit tests. This paper describes WebIDE and its use in a CS0 course that taught introductory Java and Android programming using a test-driven learning approach. We report results from a controlled experiment that compared the use of dynamic WebIDE labs with more traditional static programming labs. Despite weaker performance on pre-study assessments, students who used WebIDE performed two to twelve percent better on all assessments than the students who used traditional labs. In addition, WebIDE students were consistently more positive about their experience in CS0.
WebIDE是一个框架,使教师能够开发和提供具有交互式反馈的在线实验内容。创建锁步实验室的能力使教师能够指导学生通过学习经验,在他们进行的过程中展示掌握。反馈是通过自动求值器提供的,从简单的正则表达式求值到语法解析器,再到编译和运行程序和单元测试的应用程序。本文描述了WebIDE及其在CS0课程中的使用,该课程使用测试驱动的学习方法教授Java和Android编程入门。我们报告了一项对照实验的结果,该实验比较了动态WebIDE实验室与更传统的静态编程实验室的使用。尽管在学习前的评估中表现较差,但使用WebIDE的学生在所有评估中的表现都比使用传统实验室的学生好2%到12%。此外,WebIDE的学生对他们在CS0的经历一直持更积极的态度。
{"title":"An evaluation of interactive test-driven labs with WebIDE in CS0","authors":"David S. Janzen, John Clements, Michael C Hilton","doi":"10.1109/ICSE.2013.6606659","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606659","url":null,"abstract":"WebIDE is a framework that enables instructors to develop and deliver online lab content with interactive feedback. The ability to create lock-step labs enables the instructor to guide students through learning experiences, demonstrating mastery as they proceed. Feedback is provided through automated evaluators that vary from simple regular expression evaluation to syntactic parsers to applications that compile and run programs and unit tests. This paper describes WebIDE and its use in a CS0 course that taught introductory Java and Android programming using a test-driven learning approach. We report results from a controlled experiment that compared the use of dynamic WebIDE labs with more traditional static programming labs. Despite weaker performance on pre-study assessments, students who used WebIDE performed two to twelve percent better on all assessments than the students who used traditional labs. In addition, WebIDE students were consistently more positive about their experience in CS0.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126283117","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}
引用次数: 11
期刊
2013 35th International Conference on Software Engineering (ICSE)
全部 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