首页 > 最新文献

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

英文 中文
Automatic detection of performance deviations in the load testing of Large Scale Systems 大型系统负载测试中性能偏差的自动检测
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606651
H. Malik, H. Hemmati, A. Hassan
Load testing is one of the means for evaluating the performance of Large Scale Systems (LSS). At the end of a load test, performance analysts must analyze thousands of performance counters from hundreds of machines under test. These performance counters are measures of run-time system properties such as CPU utilization, Disk I/O, memory consumption, and network traffic. Analysts observe counters to find out if the system is meeting its Service Level Agreements (SLAs). In this paper, we present and evaluate one supervised and three unsupervised approaches to help performance analysts to 1) more effectively compare load tests in order to detect performance deviations which may lead to SLA violations, and 2) to provide them with a smaller and manageable set of important performance counters to assist in root-cause analysis of the detected deviations. Our case study is based on load test data obtained from both a large scale industrial system and an open source benchmark application. The case study shows, that our wrapper-based supervised approach, which uses a search-based technique to find the best subset of performance counters and a logistic regression model for deviation prediction, can provide up to 89% reduction in the set of performance counters while detecting performance deviations with few false positives (i.e., 95% average precision). The study also shows that the supervised approach is more stable and effective than the unsupervised approaches but it has more overhead due to its semi-automated training phase.
负载测试是评估大型系统(LSS)性能的手段之一。在负载测试结束时,性能分析人员必须分析来自数百台被测试机器的数千个性能计数器。这些性能计数器是运行时系统属性的度量,例如CPU利用率、磁盘I/O、内存消耗和网络流量。分析人员观察计数器以确定系统是否满足其服务水平协议(sla)。在本文中,我们提出并评估了一种监督方法和三种非监督方法,以帮助性能分析人员1)更有效地比较负载测试,以便检测可能导致SLA违规的性能偏差,2)为他们提供一组更小且易于管理的重要性能计数器,以协助对检测到的偏差进行根本原因分析。我们的案例研究基于从大型工业系统和开源基准应用程序获得的负载测试数据。案例研究表明,我们基于包装器的监督方法使用基于搜索的技术找到性能计数器的最佳子集,并使用逻辑回归模型进行偏差预测,可以在检测性能偏差的同时减少89%的性能计数器集,并且很少有误报(即平均精度为95%)。研究还表明,有监督方法比无监督方法更稳定和有效,但由于其半自动化的训练阶段,它的开销更大。
{"title":"Automatic detection of performance deviations in the load testing of Large Scale Systems","authors":"H. Malik, H. Hemmati, A. Hassan","doi":"10.1109/ICSE.2013.6606651","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606651","url":null,"abstract":"Load testing is one of the means for evaluating the performance of Large Scale Systems (LSS). At the end of a load test, performance analysts must analyze thousands of performance counters from hundreds of machines under test. These performance counters are measures of run-time system properties such as CPU utilization, Disk I/O, memory consumption, and network traffic. Analysts observe counters to find out if the system is meeting its Service Level Agreements (SLAs). In this paper, we present and evaluate one supervised and three unsupervised approaches to help performance analysts to 1) more effectively compare load tests in order to detect performance deviations which may lead to SLA violations, and 2) to provide them with a smaller and manageable set of important performance counters to assist in root-cause analysis of the detected deviations. Our case study is based on load test data obtained from both a large scale industrial system and an open source benchmark application. The case study shows, that our wrapper-based supervised approach, which uses a search-based technique to find the best subset of performance counters and a logistic regression model for deviation prediction, can provide up to 89% reduction in the set of performance counters while detecting performance deviations with few false positives (i.e., 95% average precision). The study also shows that the supervised approach is more stable and effective than the unsupervised approaches but it has more overhead due to its semi-automated training phase.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"6 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":"128735785","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}
引用次数: 96
Reliability analysis in Symbolic PathFinder 符号寻路器的可靠性分析
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606608
A. Filieri, C. Pasareanu, W. Visser
Software reliability analysis tackles the problem of predicting the failure probability of software. Most of the current approaches base reliability analysis on architectural abstractions useful at early stages of design, but not directly applicable to source code. In this paper we propose a general methodology that exploit symbolic execution of source code for extracting failure and success paths to be used for probabilistic reliability assessment against relevant usage scenarios. Under the assumption of finite and countable input domains, we provide an efficient implementation based on Symbolic PathFinder that supports the analysis of sequential and parallel programs, even with structured data types, at the desired level of confidence. The tool has been validated on both NASA prototypes and other test cases showing a promising applicability scope.
软件可靠性分析解决的是软件故障概率的预测问题。当前的大多数方法都是基于架构抽象的可靠性分析,这些抽象在设计的早期阶段很有用,但不能直接应用于源代码。在本文中,我们提出了一种通用的方法,利用源代码的符号执行来提取故障和成功路径,用于针对相关使用场景的概率可靠性评估。在有限和可数输入域的假设下,我们提供了一个基于Symbolic PathFinder的有效实现,它支持在期望的置信度水平上分析顺序和并行程序,即使是结构化数据类型。该工具已在NASA原型和其他测试用例上进行了验证,显示出有希望的适用性范围。
{"title":"Reliability analysis in Symbolic PathFinder","authors":"A. Filieri, C. Pasareanu, W. Visser","doi":"10.1109/ICSE.2013.6606608","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606608","url":null,"abstract":"Software reliability analysis tackles the problem of predicting the failure probability of software. Most of the current approaches base reliability analysis on architectural abstractions useful at early stages of design, but not directly applicable to source code. In this paper we propose a general methodology that exploit symbolic execution of source code for extracting failure and success paths to be used for probabilistic reliability assessment against relevant usage scenarios. Under the assumption of finite and countable input domains, we provide an efficient implementation based on Symbolic PathFinder that supports the analysis of sequential and parallel programs, even with structured data types, at the desired level of confidence. The tool has been validated on both NASA prototypes and other test cases showing a promising applicability scope.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"3 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":"133907782","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}
引用次数: 132
LASE: An example-based program transformation tool for locating and applying systematic edits LASE:一个基于示例的程序转换工具,用于定位和应用系统编辑
Pub Date : 2013-05-18 DOI: 10.5555/2486788.2486995
John Jacobellis, Na Meng, Miryung Kim
Adding features and fixing bugs in software often require systematic edits which are similar, but not identical, changes to many code locations. Finding all edit locations and editing them correctly is tedious and error-prone. In this paper, we demonstrate an Eclipse plug-in called Lase that (1) creates context-aware edit scripts from two or more examples, and uses these scripts to (2) automatically identify edit locations and (3) transform the code. In Lase, users can view syntactic edit operations and corresponding context for each input example. They can also choose a different subset of the examples to adjust the abstraction level of inferred edits. When Lase locates target methods matching the inferred edit context and suggests customized edits, users can review and correct LASE's edit suggestion. These features can reduce developers' burden in repetitively applying similar edits to different methods. The tool's video demonstration is available at https://www.youtube.com/ watch?v=npDqMVP2e9Q.
在软件中添加功能和修复bug通常需要对许多代码位置进行类似但不完全相同的系统编辑。查找所有编辑位置并正确编辑它们是乏味且容易出错的。在本文中,我们演示了一个名为Lase的Eclipse插件,它(1)从两个或多个示例中创建上下文感知的编辑脚本,并使用这些脚本来(2)自动识别编辑位置和(3)转换代码。在Lase中,用户可以查看每个输入示例的语法编辑操作和相应的上下文。他们还可以选择示例的不同子集来调整推断编辑的抽象级别。当Lase找到与推断的编辑上下文匹配的目标方法并建议定制编辑时,用户可以查看和纠正Lase的编辑建议。这些特性可以减少开发人员对不同方法重复应用类似编辑的负担。该工具的视频演示可在https://www.youtube.com/ watch?v=npDqMVP2e9Q上获得。
{"title":"LASE: An example-based program transformation tool for locating and applying systematic edits","authors":"John Jacobellis, Na Meng, Miryung Kim","doi":"10.5555/2486788.2486995","DOIUrl":"https://doi.org/10.5555/2486788.2486995","url":null,"abstract":"Adding features and fixing bugs in software often require systematic edits which are similar, but not identical, changes to many code locations. Finding all edit locations and editing them correctly is tedious and error-prone. In this paper, we demonstrate an Eclipse plug-in called Lase that (1) creates context-aware edit scripts from two or more examples, and uses these scripts to (2) automatically identify edit locations and (3) transform the code. In Lase, users can view syntactic edit operations and corresponding context for each input example. They can also choose a different subset of the examples to adjust the abstraction level of inferred edits. When Lase locates target methods matching the inferred edit context and suggests customized edits, users can review and correct LASE's edit suggestion. These features can reduce developers' burden in repetitively applying similar edits to different methods. The tool's video demonstration is available at https://www.youtube.com/ watch?v=npDqMVP2e9Q.","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":"130536545","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Predicting bug-fixing time: An empirical study of commercial software projects 预测bug修复时间:商业软件项目的实证研究
Pub Date : 2013-05-18 DOI: 10.5555/2486788.2486931
Hongyu Zhang, Liang Gong, Steven Versteeg
For a large and evolving software system, the project team could receive many bug reports over a long period of time. It is important to achieve a quantitative understanding of bug-fixing time. The ability to predict bug-fixing time can help a project team better estimate software maintenance efforts and better manage software projects. In this paper, we perform an empirical study of bug-fixing time for three CA Technologies projects. We propose a Markov-based method for predicting the number of bugs that will be fixed in future. For a given number of defects, we propose a method for estimating the total amount of time required to fix them based on the empirical distribution of bug-fixing time derived from historical data. For a given bug report, we can also construct a classification model to predict slow or quick fix (e.g., below or above a time threshold). We evaluate our methods using real maintenance data from three CA Technologies projects. The results show that the proposed methods are effective.
对于一个大型且不断发展的软件系统,项目团队可能会在很长一段时间内收到许多错误报告。实现对bug修复时间的定量理解是很重要的。预测bug修复时间的能力可以帮助项目团队更好地评估软件维护工作并更好地管理软件项目。在本文中,我们对三个CA Technologies项目的bug修复时间进行了实证研究。我们提出了一种基于马尔可夫的方法来预测未来将被修复的bug数量。对于给定数量的缺陷,我们提出了一种方法来估计修复它们所需的总时间,该方法基于源自历史数据的bug修复时间的经验分布。对于给定的错误报告,我们还可以构建一个分类模型来预测缓慢或快速修复(例如,低于或高于时间阈值)。我们使用来自三个CA Technologies项目的真实维护数据来评估我们的方法。结果表明,该方法是有效的。
{"title":"Predicting bug-fixing time: An empirical study of commercial software projects","authors":"Hongyu Zhang, Liang Gong, Steven Versteeg","doi":"10.5555/2486788.2486931","DOIUrl":"https://doi.org/10.5555/2486788.2486931","url":null,"abstract":"For a large and evolving software system, the project team could receive many bug reports over a long period of time. It is important to achieve a quantitative understanding of bug-fixing time. The ability to predict bug-fixing time can help a project team better estimate software maintenance efforts and better manage software projects. In this paper, we perform an empirical study of bug-fixing time for three CA Technologies projects. We propose a Markov-based method for predicting the number of bugs that will be fixed in future. For a given number of defects, we propose a method for estimating the total amount of time required to fix them based on the empirical distribution of bug-fixing time derived from historical data. For a given bug report, we can also construct a classification model to predict slow or quick fix (e.g., below or above a time threshold). We evaluate our methods using real maintenance data from three CA Technologies projects. The results show that the proposed methods are effective.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"52 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":"130578634","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}
引用次数: 167
Assisting developers of Big Data Analytics Applications when deploying on Hadoop clouds 协助大数据分析应用开发人员在Hadoop云上部署
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606586
Weiyi Shang, Z. Jiang, H. Hemmati, Bram Adams, A. Hassan, Patrick Martin
Big data analytics is the process of examining large amounts of data (big data) in an effort to uncover hidden patterns or unknown correlations. Big Data Analytics Applications (BDA Apps) are a new type of software applications, which analyze big data using massive parallel processing frameworks (e.g., Hadoop). Developers of such applications typically develop them using a small sample of data in a pseudo-cloud environment. Afterwards, they deploy the applications in a large-scale cloud environment with considerably more processing power and larger input data (reminiscent of the mainframe days). Working with BDA App developers in industry over the past three years, we noticed that the runtime analysis and debugging of such applications in the deployment phase cannot be easily addressed by traditional monitoring and debugging approaches. In this paper, as a first step in assisting developers of BDA Apps for cloud deployments, we propose a lightweight approach for uncovering differences between pseudo and large-scale cloud deployments. Our approach makes use of the readily-available yet rarely used execution logs from these platforms. Our approach abstracts the execution logs, recovers the execution sequences, and compares the sequences between the pseudo and cloud deployments. Through a case study on three representative Hadoop-based BDA Apps, we show that our approach can rapidly direct the attention of BDA App developers to the major differences between the two deployments. Knowledge of such differences is essential in verifying BDA Apps when analyzing big data in the cloud. Using injected deployment faults, we show that our approach not only significantly reduces the deployment verification effort, but also provides very few false positives when identifying deployment failures.
大数据分析是检查大量数据(大数据)以发现隐藏模式或未知相关性的过程。大数据分析应用程序(BDA Apps)是一种新型的软件应用程序,它使用大规模并行处理框架(如Hadoop)来分析大数据。此类应用程序的开发人员通常使用伪云环境中的小样本数据来开发它们。然后,他们将应用程序部署到具有更强处理能力和更大输入数据的大规模云环境中(让人想起大型机时代)。在过去的三年中,我们与行业中的BDA应用程序开发人员合作,注意到在部署阶段对此类应用程序的运行时分析和调试不能通过传统的监控和调试方法轻松解决。在本文中,作为帮助BDA应用程序的云部署开发人员的第一步,我们提出了一种轻量级方法来揭示伪云部署和大规模云部署之间的差异。我们的方法利用了这些平台上容易获得但很少使用的执行日志。我们的方法抽象执行日志,恢复执行序列,并比较伪部署和云部署之间的序列。通过对三个具有代表性的基于hadoop的BDA应用程序的案例研究,我们展示了我们的方法可以迅速将BDA应用程序开发人员的注意力引导到两种部署之间的主要差异上。在分析云中的大数据时,了解这些差异对于验证BDA应用程序至关重要。使用注入的部署错误,我们表明我们的方法不仅显著地减少了部署验证工作,而且在识别部署失败时提供了很少的误报。
{"title":"Assisting developers of Big Data Analytics Applications when deploying on Hadoop clouds","authors":"Weiyi Shang, Z. Jiang, H. Hemmati, Bram Adams, A. Hassan, Patrick Martin","doi":"10.1109/ICSE.2013.6606586","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606586","url":null,"abstract":"Big data analytics is the process of examining large amounts of data (big data) in an effort to uncover hidden patterns or unknown correlations. Big Data Analytics Applications (BDA Apps) are a new type of software applications, which analyze big data using massive parallel processing frameworks (e.g., Hadoop). Developers of such applications typically develop them using a small sample of data in a pseudo-cloud environment. Afterwards, they deploy the applications in a large-scale cloud environment with considerably more processing power and larger input data (reminiscent of the mainframe days). Working with BDA App developers in industry over the past three years, we noticed that the runtime analysis and debugging of such applications in the deployment phase cannot be easily addressed by traditional monitoring and debugging approaches. In this paper, as a first step in assisting developers of BDA Apps for cloud deployments, we propose a lightweight approach for uncovering differences between pseudo and large-scale cloud deployments. Our approach makes use of the readily-available yet rarely used execution logs from these platforms. Our approach abstracts the execution logs, recovers the execution sequences, and compares the sequences between the pseudo and cloud deployments. Through a case study on three representative Hadoop-based BDA Apps, we show that our approach can rapidly direct the attention of BDA App developers to the major differences between the two deployments. Knowledge of such differences is essential in verifying BDA Apps when analyzing big data in the cloud. Using injected deployment faults, we show that our approach not only significantly reduces the deployment verification effort, but also provides very few false positives when identifying deployment failures.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"68 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":"133210137","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}
引用次数: 165
Toward a software product line for affective-driven self-adaptive systems 面向情感驱动自适应系统的软件产品线
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606722
Javier Gonzalez-Sanchez
One expected characteristic in modern systems is self-adaptation, the capability of monitoring and reacting to changes into the environment. A particular case of self-adaptation is affective-driven self-adaptation. Affective-driven self-adaptation is about having consciousness of user's affects (emotions) and drive self-adaptation reacting to changes in those affects. Most of the previous work around self-adaptive systems deals with performance, resources, and error recovery as variables that trigger a system reaction. Moreover, most effort around affect recognition has been put towards offline analysis of affect, and to date only few applications exist that are able to infer user's affect in real-time and trigger self-adaptation mechanisms. In response to this deficit, this work proposes a software product line approach to jump-start the development of affect-driven self-adaptive systems by offering the definition of a domain-specific architecture, a set of components (organized as a framework), and guidelines to tailor those components. Study cases with systems for learning and gaming will confirm the capability of the software product line to provide desired functionalities and qualities.
现代系统的一个预期特征是自适应,即监测和对环境变化作出反应的能力。自我适应的一个特例是情感驱动型自我适应。情感驱动型自我适应是指意识到用户的情感(情绪),并根据这些情感的变化驱动自我适应。之前围绕自适应系统的大部分工作都将性能、资源和错误恢复作为触发系统反应的变量来处理。此外,围绕情感识别的大部分努力都放在了情感的离线分析上,迄今为止,只有少数应用程序能够实时推断用户的情感并触发自适应机制。为了应对这一缺陷,本工作提出了一种软件产品线方法,通过提供特定于领域的体系结构的定义、一组组件(组织为框架)和定制这些组件的指导方针,来快速启动情感驱动的自适应系统的开发。学习和游戏系统的研究案例将确认软件产品线提供所需功能和质量的能力。
{"title":"Toward a software product line for affective-driven self-adaptive systems","authors":"Javier Gonzalez-Sanchez","doi":"10.1109/ICSE.2013.6606722","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606722","url":null,"abstract":"One expected characteristic in modern systems is self-adaptation, the capability of monitoring and reacting to changes into the environment. A particular case of self-adaptation is affective-driven self-adaptation. Affective-driven self-adaptation is about having consciousness of user's affects (emotions) and drive self-adaptation reacting to changes in those affects. Most of the previous work around self-adaptive systems deals with performance, resources, and error recovery as variables that trigger a system reaction. Moreover, most effort around affect recognition has been put towards offline analysis of affect, and to date only few applications exist that are able to infer user's affect in real-time and trigger self-adaptation mechanisms. In response to this deficit, this work proposes a software product line approach to jump-start the development of affect-driven self-adaptive systems by offering the definition of a domain-specific architecture, a set of components (organized as a framework), and guidelines to tailor those components. Study cases with systems for learning and gaming will confirm the capability of the software product line to provide desired functionalities and qualities.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"15 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":"122011015","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
2nd International workshop on user evaluations for software engineering researchers (USER 2013) 第二届软件工程研究人员用户评估国际研讨会(user 2013)
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606786
Andrew Begel, Caitlin Sadowski
We have met many software engineering researchers who would like to evaluate a tool or system they developed with real users, but do not know how to begin. In this second iteration of the USER workshop, attendees will collaboratively design, develop, and pilot plans for conducting user evaluations of their own tools and/or software engineering research projects. Attendees will gain practical experience with various user evaluation methods through scaffolded group exercises, panel discussions, and mentoring by a panel of user-focused software engineering researchers. Together, we will establish a community of like-minded researchers and developers to help one another improve our research and practice through user evaluation.
我们遇到过许多软件工程研究人员,他们想与实际用户一起评估他们开发的工具或系统,但不知道如何开始。在USER研讨会的第二次迭代中,与会者将协作设计、开发和试验计划,以指导用户对他们自己的工具和/或软件工程研究项目进行评估。与会者将通过框架式的小组练习、小组讨论和由以用户为中心的软件工程研究人员组成的小组的指导,获得各种用户评估方法的实践经验。我们将共同建立一个由志同道合的研究人员和开发人员组成的社区,通过用户评估来帮助彼此改进我们的研究和实践。
{"title":"2nd International workshop on user evaluations for software engineering researchers (USER 2013)","authors":"Andrew Begel, Caitlin Sadowski","doi":"10.1109/ICSE.2013.6606786","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606786","url":null,"abstract":"We have met many software engineering researchers who would like to evaluate a tool or system they developed with real users, but do not know how to begin. In this second iteration of the USER workshop, attendees will collaboratively design, develop, and pilot plans for conducting user evaluations of their own tools and/or software engineering research projects. Attendees will gain practical experience with various user evaluation methods through scaffolded group exercises, panel discussions, and mentoring by a panel of user-focused software engineering researchers. Together, we will establish a community of like-minded researchers and developers to help one another improve our research and practice through user evaluation.","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":"122248475","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
Computational alignment of goals and scenarios for complex systems 复杂系统的目标和场景的计算校准
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606690
Dalal Alrajeh, A. Russo, J. Lockerbie, N. Maiden, Alistair Mavin, Mark Novak
The purpose of requirements validation is to determine whether a large requirements set will lead to the achievement of system-related goals under different conditions - a task that needs automation if it is to be performed quickly and accurately. One reason for the current lack of software tools to undertake such validation is the absence of the computational mechanisms needed to associate scenario, system specification and goal analysis tools. Therefore, in this paper, we report first research experiments in developing these new capabilities, and demonstrate them with a non-trivial example associated with a Rolls Royce aircraft engine software component.
需求验证的目的是确定一个大的需求集是否会导致在不同条件下实现与系统相关的目标——如果要快速准确地执行,这个任务需要自动化。目前缺乏软件工具来进行这种验证的一个原因是缺乏将场景、系统规范和目标分析工具联系起来所需的计算机制。因此,在本文中,我们报告了开发这些新功能的首次研究实验,并通过与劳斯莱斯飞机发动机软件组件相关的非平凡示例进行了演示。
{"title":"Computational alignment of goals and scenarios for complex systems","authors":"Dalal Alrajeh, A. Russo, J. Lockerbie, N. Maiden, Alistair Mavin, Mark Novak","doi":"10.1109/ICSE.2013.6606690","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606690","url":null,"abstract":"The purpose of requirements validation is to determine whether a large requirements set will lead to the achievement of system-related goals under different conditions - a task that needs automation if it is to be performed quickly and accurately. One reason for the current lack of software tools to undertake such validation is the absence of the computational mechanisms needed to associate scenario, system specification and goal analysis tools. Therefore, in this paper, we report first research experiments in developing these new capabilities, and demonstrate them with a non-trivial example associated with a Rolls Royce aircraft engine software component.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"34 6 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":"124982333","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
Teaching and learning programming and software engineering via interactive gaming 通过互动游戏教授和学习编程和软件工程
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606662
N. Tillmann, J. D. Halleux, Tao Xie, Sumit Gulwani, J. Bishop
Massive Open Online Courses (MOOCs) have recently gained high popularity among various universities and even in global societies. A critical factor for their success in teaching and learning effectiveness is assignment grading. Traditional ways of assignment grading are not scalable and do not give timely or interactive feedback to students. To address these issues, we present an interactive-gaming-based teaching and learning platform called Pex4Fun. Pex4Fun is a browser-based teaching and learning environment targeting teachers and students for introductory to advanced programming or software engineering courses. At the core of the platform is an automated grading engine based on symbolic execution. In Pex4Fun, teachers can create virtual classrooms, customize existing courses, and publish new learning material including learning games. Pex4Fun was released to the public in June 2010 and since then the number of attempts made by users to solve games has reached over one million. Our work on Pex4Fun illustrates that a sophisticated software engineering technique-automated test generation-can be successfully used to underpin automatic grading in an online programming system that can scale to hundreds of thousands of users.
大规模在线开放课程(MOOCs)最近在各个大学甚至全球社会中受到了高度欢迎。作业评分是影响教师教学效果的关键因素。传统的作业评分方式是不可扩展的,不能给学生及时或互动的反馈。为了解决这些问题,我们提出了一个基于互动游戏的教学平台,名为Pex4Fun。Pex4Fun是一个基于浏览器的教学和学习环境,针对教师和学生介绍高级编程或软件工程课程。该平台的核心是一个基于符号执行的自动评分引擎。在Pex4Fun上,教师可以创建虚拟教室,定制现有课程,发布包括学习游戏在内的新学习材料。Pex4Fun于2010年6月向公众发布,自那时以来,用户尝试解决游戏的次数已超过100万次。我们在Pex4Fun上的工作说明了一种复杂的软件工程技术——自动测试生成——可以成功地用于支持在线编程系统中的自动评分,该系统可以扩展到数十万用户。
{"title":"Teaching and learning programming and software engineering via interactive gaming","authors":"N. Tillmann, J. D. Halleux, Tao Xie, Sumit Gulwani, J. Bishop","doi":"10.1109/ICSE.2013.6606662","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606662","url":null,"abstract":"Massive Open Online Courses (MOOCs) have recently gained high popularity among various universities and even in global societies. A critical factor for their success in teaching and learning effectiveness is assignment grading. Traditional ways of assignment grading are not scalable and do not give timely or interactive feedback to students. To address these issues, we present an interactive-gaming-based teaching and learning platform called Pex4Fun. Pex4Fun is a browser-based teaching and learning environment targeting teachers and students for introductory to advanced programming or software engineering courses. At the core of the platform is an automated grading engine based on symbolic execution. In Pex4Fun, teachers can create virtual classrooms, customize existing courses, and publish new learning material including learning games. Pex4Fun was released to the public in June 2010 and since then the number of attempts made by users to solve games has reached over one million. Our work on Pex4Fun illustrates that a sophisticated software engineering technique-automated test generation-can be successfully used to underpin automatic grading in an online programming system that can scale to hundreds of thousands of users.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"23 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":"130056463","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}
引用次数: 115
NavClus: A graphical recommender for assisting code exploration NavClus:一个帮助代码探索的图形化推荐器
Pub Date : 2013-05-18 DOI: 10.1109/ICSE.2013.6606706
Seonah Lee, Sungwon Kang, Matthew Staats
Recently, several graphical tools have been proposed to help developers avoid becoming disoriented when working with large software projects. These tools visualize the locations that developers have visited, allowing them to quickly recall where they have already visited. However, developers also spend a significant amount of time exploring source locations to visit, which is a task that is not currently supported by existing tools. In this work, we propose a graphical code recommender NavClus, which helps developers find relevant, unexplored source locations to visit. NavClus operates by mining a developer's daily interaction traces, comparing the developer's current working context with previously seen contexts, and then predicting relevant source locations to visit. These locations are displayed graphically along with the already explored locations in a class diagram. As a result, with NavClus developers can quickly find, reach, and focus on source locations relevant to their working contexts. http://www.youtube.com/watch?v=rbrc5ERyWjQ.
最近,人们提出了一些图形化工具来帮助开发人员在处理大型软件项目时避免迷失方向。这些工具将开发人员访问过的位置可视化,使他们能够快速回忆起他们已经访问过的位置。然而,开发人员还花费了大量的时间来探索要访问的源位置,这是现有工具目前不支持的任务。在这项工作中,我们提出了一个图形代码推荐器NavClus,它可以帮助开发人员找到相关的、未开发的源代码位置来访问。NavClus通过挖掘开发人员的日常交互痕迹,将开发人员当前的工作环境与之前看到的环境进行比较,然后预测相关的访问源位置。这些位置与类图中已经探索过的位置一起以图形方式显示。因此,使用NavClus,开发人员可以快速找到、到达并关注与其工作环境相关的源位置。http://www.youtube.com/watch?v=rbrc5ERyWjQ。
{"title":"NavClus: A graphical recommender for assisting code exploration","authors":"Seonah Lee, Sungwon Kang, Matthew Staats","doi":"10.1109/ICSE.2013.6606706","DOIUrl":"https://doi.org/10.1109/ICSE.2013.6606706","url":null,"abstract":"Recently, several graphical tools have been proposed to help developers avoid becoming disoriented when working with large software projects. These tools visualize the locations that developers have visited, allowing them to quickly recall where they have already visited. However, developers also spend a significant amount of time exploring source locations to visit, which is a task that is not currently supported by existing tools. In this work, we propose a graphical code recommender NavClus, which helps developers find relevant, unexplored source locations to visit. NavClus operates by mining a developer's daily interaction traces, comparing the developer's current working context with previously seen contexts, and then predicting relevant source locations to visit. These locations are displayed graphically along with the already explored locations in a class diagram. As a result, with NavClus developers can quickly find, reach, and focus on source locations relevant to their working contexts. http://www.youtube.com/watch?v=rbrc5ERyWjQ.","PeriodicalId":322423,"journal":{"name":"2013 35th International Conference on Software Engineering (ICSE)","volume":"5 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":"128860444","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
期刊
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