首页 > 最新文献

2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)最新文献

英文 中文
Towards Just-In-Time Rational Refactoring 走向及时的理性重构
Jevgenija Pantiuchina
Code smells have been defined as symptoms of poor design and implementation choices. Empirical studies showed that code smells can have a negative impact on the maintainability of code. For this reason, tools have been developed to auto-matically detect design flaws and, in some cases, to recommend developers how to remove them via refactoring. However, these tools are not able to prevent the introduction of design flaws. This means that the code has to experience a quality decay before state-of-the-art tools can be applied. In addition, existing tools recommend refactoring operations that mostly target the improvement of quality metrics (e.g., cohesion) rather than the generation of refactorings that are meaningful from the developers' perspective. Our goal is to develop techniques serving as the basis for a new generation of refactoring recommenders able to (i) predict code components likely to be affected by code smells in the near future, to refactor them before they experience a quality decay and (ii) recommend meaningful refactorings emulating the ones that developers would perform, rather than the ones targeting the improvement of metrics. We refer to such a perspective on refactoring as just-in-time rational refactoring.
代码气味被定义为糟糕的设计和实现选择的症状。经验研究表明,代码气味会对代码的可维护性产生负面影响。由于这个原因,已经开发了一些工具来自动检测设计缺陷,并在某些情况下,向开发人员推荐如何通过重构来消除它们。然而,这些工具并不能阻止设计缺陷的引入。这意味着在应用最先进的工具之前,代码必须经历质量衰减。此外,现有的工具推荐的重构操作主要是针对质量度量(例如,内聚)的改进,而不是从开发人员的角度来看有意义的重构的生成。我们的目标是开发作为新一代重构推荐器基础的技术,这些推荐器能够(i)预测在不久的将来可能受到代码气味影响的代码组件,在它们经历质量衰退之前对它们进行重构;(ii)推荐有意义的重构,模仿开发人员将要执行的重构,而不是以改进指标为目标的重构。我们将这种重构视角称为及时理性重构。
{"title":"Towards Just-In-Time Rational Refactoring","authors":"Jevgenija Pantiuchina","doi":"10.1109/ICSE-Companion.2019.00073","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00073","url":null,"abstract":"Code smells have been defined as symptoms of poor design and implementation choices. Empirical studies showed that code smells can have a negative impact on the maintainability of code. For this reason, tools have been developed to auto-matically detect design flaws and, in some cases, to recommend developers how to remove them via refactoring. However, these tools are not able to prevent the introduction of design flaws. This means that the code has to experience a quality decay before state-of-the-art tools can be applied. In addition, existing tools recommend refactoring operations that mostly target the improvement of quality metrics (e.g., cohesion) rather than the generation of refactorings that are meaningful from the developers' perspective. Our goal is to develop techniques serving as the basis for a new generation of refactoring recommenders able to (i) predict code components likely to be affected by code smells in the near future, to refactor them before they experience a quality decay and (ii) recommend meaningful refactorings emulating the ones that developers would perform, rather than the ones targeting the improvement of metrics. We refer to such a perspective on refactoring as just-in-time rational refactoring.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133992271","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
Software Engineering Studies Attractiveness for the Highly Educated Women Planning to Change Career in Finland 软件工程研究芬兰高学历女性跳槽的吸引力
Sonja M. Hyrynsalmi, S. Hyrynsalmi
The software industry is suffering from a widespread labour shortage and, at the same time, universities have not been able to react and provide enough skilled talents for the field. A wide selection of actions has been focused into getting more women for the STEM industries. However, the results have not been as efficient that would have hoped for. This study addresses the question how high-educated women perceive the attractiveness of software engineering studies. The data for the paper is collected with an open internet survey (n=134) from Finnish women who have already done or are planning to make a career change to the software industry. The attitudes towards new and old modes of learning and education are surveyed. This study shows that women perceive industry as attractive and value university education, yet there are overabundance of offering in entry-level training courses and lack of advanced studies. The university education is perceived to be rigid and old-fashioned.
软件行业正遭受劳动力普遍短缺的困扰,与此同时,大学也未能做出反应,为该领域提供足够的熟练人才。各种各样的行动都集中在让更多的女性进入STEM行业。然而,结果并没有像预期的那样有效。这项研究解决了受过高等教育的女性如何感知软件工程研究的吸引力的问题。本文的数据是通过一项公开的互联网调查(n=134)收集的,调查对象是已经或正在计划转行进入软件行业的芬兰女性。调查了对新旧学习和教育模式的态度。这项研究表明,女性认为工业有吸引力,重视大学教育,但初级培训课程过多,高等教育缺乏。大学教育被认为是僵化和过时的。
{"title":"Software Engineering Studies Attractiveness for the Highly Educated Women Planning to Change Career in Finland","authors":"Sonja M. Hyrynsalmi, S. Hyrynsalmi","doi":"10.1109/ICSE-Companion.2019.00126","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00126","url":null,"abstract":"The software industry is suffering from a widespread labour shortage and, at the same time, universities have not been able to react and provide enough skilled talents for the field. A wide selection of actions has been focused into getting more women for the STEM industries. However, the results have not been as efficient that would have hoped for. This study addresses the question how high-educated women perceive the attractiveness of software engineering studies. The data for the paper is collected with an open internet survey (n=134) from Finnish women who have already done or are planning to make a career change to the software industry. The attitudes towards new and old modes of learning and education are surveyed. This study shows that women perceive industry as attractive and value university education, yet there are overabundance of offering in entry-level training courses and lack of advanced studies. The university education is perceived to be rigid and old-fashioned.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133526402","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Digital Nudges for Encouraging Developer Actions 鼓励开发者行动的数字推动
Chris Brown
Researchers have examined a wide variety of practices to help software engineers complete different programming tasks. Despite the fact that studies show software engineering practices and tools created to improve the software development process are useful for preventing bugs, decreasing debugging costs, reducing debugging time, and providing additional benefits, software engineers rarely use them in practice. To persuade humans to alter and adopt new behaviors, psychologists have studied the concept of nudges. My research aims to investigate how digital nudges, or the process of using technology to automatically create nudges, can be beneficial in helping software developers and teams adopt software engineering activities and integrate them into their normal workflow.
研究人员已经研究了各种各样的实践来帮助软件工程师完成不同的编程任务。尽管研究表明,为改进软件开发过程而创建的软件工程实践和工具对于防止错误、减少调试成本、减少调试时间和提供额外的好处是有用的,但软件工程师在实践中很少使用它们。为了说服人们改变和采用新的行为,心理学家研究了“轻推”的概念。我的研究旨在调查数字推动,或使用技术自动创建推动的过程,如何在帮助软件开发人员和团队采用软件工程活动并将其集成到正常工作流程中是有益的。
{"title":"Digital Nudges for Encouraging Developer Actions","authors":"Chris Brown","doi":"10.1109/ICSE-Companion.2019.00082","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00082","url":null,"abstract":"Researchers have examined a wide variety of practices to help software engineers complete different programming tasks. Despite the fact that studies show software engineering practices and tools created to improve the software development process are useful for preventing bugs, decreasing debugging costs, reducing debugging time, and providing additional benefits, software engineers rarely use them in practice. To persuade humans to alter and adopt new behaviors, psychologists have studied the concept of nudges. My research aims to investigate how digital nudges, or the process of using technology to automatically create nudges, can be beneficial in helping software developers and teams adopt software engineering activities and integrate them into their normal workflow.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"171 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122054568","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}
引用次数: 5
Guiding Testing Effort Using Mutant Utility 使用突变工具指导测试工作
Justin Alvin, Bob Kurtz, P. Ammann, H. Rangwala, René Just
This paper addresses two long-standing goals in software testing: making mutation-based testing practical and software testing overall more effective, predictable, and consistent. To that end, this paper proposes a novel mutation-based approach that guides testing effort based on test goal utility.
本文讨论了软件测试中两个长期存在的目标:使基于突变的测试更实用,以及软件测试总体上更有效、可预测和一致。为此,本文提出了一种新的基于突变的方法,该方法基于测试目标效用来指导测试工作。
{"title":"Guiding Testing Effort Using Mutant Utility","authors":"Justin Alvin, Bob Kurtz, P. Ammann, H. Rangwala, René Just","doi":"10.1109/ICSE-Companion.2019.00130","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00130","url":null,"abstract":"This paper addresses two long-standing goals in software testing: making mutation-based testing practical and software testing overall more effective, predictable, and consistent. To that end, this paper proposes a novel mutation-based approach that guides testing effort based on test goal utility.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123936531","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Visual Debugging of Behavioural Models 行为模型的可视化调试
G. Barbon, V. Leroy, Gwen Salaün, Emmanuel Yah
In this paper, we present the CLEAR visualizer tool, which supports the debugging task of behavioural models being analyzed using model checking techniques. The tool provides visualization techniques for simplifying the comprehension of counterexamples by highlighting some specific states in the model where a choice is possible between executing a correct behaviour or falling into an erroneous part of the model. Our tool was applied successfully to many case studies and allowed us to visually identify several kinds of typical bugs. Video URL: https://youtu.be/nJLOnRaPe1A
在本文中,我们提出了CLEAR可视化工具,它支持使用模型检查技术分析行为模型的调试任务。该工具提供了可视化技术,通过突出显示模型中的一些特定状态来简化对反例的理解,在这些状态中,可以在执行正确的行为或落入模型的错误部分之间进行选择。我们的工具成功地应用于许多案例研究,并使我们能够直观地识别几种典型的错误。视频网址:https://youtu.be/nJLOnRaPe1A
{"title":"Visual Debugging of Behavioural Models","authors":"G. Barbon, V. Leroy, Gwen Salaün, Emmanuel Yah","doi":"10.1109/ICSE-Companion.2019.00050","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00050","url":null,"abstract":"In this paper, we present the CLEAR visualizer tool, which supports the debugging task of behavioural models being analyzed using model checking techniques. The tool provides visualization techniques for simplifying the comprehension of counterexamples by highlighting some specific states in the model where a choice is possible between executing a correct behaviour or falling into an erroneous part of the model. Our tool was applied successfully to many case studies and allowed us to visually identify several kinds of typical bugs. Video URL: https://youtu.be/nJLOnRaPe1A","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130120456","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
ENRE: A Tool Framework for Extensible eNtity Relation Extraction ENRE:可扩展实体关系抽取的工具框架
Wuxia Jin, Yuanfang Cai, R. Kazman, Q. Zheng, Di Cui, Ting Liu
Understanding the dependencies among code entities is fundamental to many software analysis tools and techniques. However, with the emergence of new programming languages and paradigms, the increasingly common practice of writing systems in multiple languages, and the increasing popularity of dynamic languages, no existing framework can reliably extract this information. That is, no tools exist to accurately extract dependencies from systems written in multiple and dynamic languages. To address this problem, we have designed and implemented the Extensible eNtity Relation Extraction (ENRE) framework. ENRE supports the extraction of entities and their dependencies from systems written in multiple languages, enables the customization of dependencies of interest to the user, and makes implicit dependencies explicit. To demonstrate feasibility of this framework, we developed two ENRE instances for analyzing Python and Golang programs. Our experiments on 12 Python and Golang projects demonstrated the effectiveness and flexibility of ENRE. By comparing with a commercial static analysis tool, we show that we can extract dependencies from Golang programs which are not supported by existing tools and we can reveal implicit dependencies in Python. (Demo Video: https://youtu.be/BfXp5bb1yqc)
理解代码实体之间的依赖关系是许多软件分析工具和技术的基础。然而,随着新的编程语言和范式的出现,用多种语言编写系统的日益普遍的做法,以及动态语言的日益普及,没有现有的框架可以可靠地提取这些信息。也就是说,没有工具能够准确地从用多种动态语言编写的系统中提取依赖关系。为了解决这个问题,我们设计并实现了可扩展实体关系提取(ENRE)框架。ENRE支持从用多种语言编写的系统中提取实体及其依赖关系,支持自定义用户感兴趣的依赖关系,并使隐式依赖关系显式显示。为了演示这个框架的可行性,我们开发了两个ENRE实例来分析Python和Golang程序。我们在12个Python和Golang项目上的实验证明了ENRE的有效性和灵活性。通过与商业静态分析工具的比较,我们展示了我们可以从现有工具不支持的Golang程序中提取依赖关系,并且可以揭示Python中的隐式依赖关系。(演示视频:https://youtu.be/BfXp5bb1yqc)
{"title":"ENRE: A Tool Framework for Extensible eNtity Relation Extraction","authors":"Wuxia Jin, Yuanfang Cai, R. Kazman, Q. Zheng, Di Cui, Ting Liu","doi":"10.1109/ICSE-Companion.2019.00040","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00040","url":null,"abstract":"Understanding the dependencies among code entities is fundamental to many software analysis tools and techniques. However, with the emergence of new programming languages and paradigms, the increasingly common practice of writing systems in multiple languages, and the increasing popularity of dynamic languages, no existing framework can reliably extract this information. That is, no tools exist to accurately extract dependencies from systems written in multiple and dynamic languages. To address this problem, we have designed and implemented the Extensible eNtity Relation Extraction (ENRE) framework. ENRE supports the extraction of entities and their dependencies from systems written in multiple languages, enables the customization of dependencies of interest to the user, and makes implicit dependencies explicit. To demonstrate feasibility of this framework, we developed two ENRE instances for analyzing Python and Golang programs. Our experiments on 12 Python and Golang projects demonstrated the effectiveness and flexibility of ENRE. By comparing with a commercial static analysis tool, we show that we can extract dependencies from Golang programs which are not supported by existing tools and we can reveal implicit dependencies in Python. (Demo Video: https://youtu.be/BfXp5bb1yqc)","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129802041","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}
引用次数: 12
AsFault: Testing Self-Driving Car Software Using Search-Based Procedural Content Generation AsFault:使用基于搜索的程序内容生成测试自动驾驶汽车软件
Alessio Gambi, Marc Müller, G. Fraser
Ensuring the safety of self-driving cars is important, but neither industry nor authorities have settled on a standard way to test them. Deploying self-driving cars for testing in regular traffic is a common, but costly and risky method, which has already caused fatalities. As a safer alternative, virtual tests, in which self-driving car software is tested in computer simulations, have been proposed. One cannot hope to sufficiently cover the huge number of possible driving situations self-driving cars must be tested for by manually creating such tests. Therefore, we developed AsFault, a tool for automatically generating virtual tests for systematically testing self-driving car software. We demonstrate AsFault by testing the lane keeping feature of an artificial intelligence-based self-driving car software, for which AsFault generates scenarios that cause it to drive off the road. A video illustrating AsFault in action is available at: https://youtu.be/lJ1sa42VLDw
确保自动驾驶汽车的安全性很重要,但行业和当局都没有确定测试它们的标准方法。在常规交通中部署自动驾驶汽车进行测试是一种常见的方法,但成本高昂且风险很大,已经造成了人员死亡。作为一种更安全的替代方案,有人提出了虚拟测试,即在计算机模拟中测试自动驾驶汽车软件。人们不能指望通过手动创建这样的测试来充分覆盖自动驾驶汽车必须测试的大量可能的驾驶情况。因此,我们开发了AsFault,一个自动生成虚拟测试的工具,用于系统地测试自动驾驶汽车软件。我们通过测试基于人工智能的自动驾驶汽车软件的车道保持功能来演示AsFault, AsFault会生成导致其驶离道路的场景。说明AsFault实际操作的视频可在:https://youtu.be/lJ1sa42VLDw
{"title":"AsFault: Testing Self-Driving Car Software Using Search-Based Procedural Content Generation","authors":"Alessio Gambi, Marc Müller, G. Fraser","doi":"10.1109/ICSE-Companion.2019.00030","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00030","url":null,"abstract":"Ensuring the safety of self-driving cars is important, but neither industry nor authorities have settled on a standard way to test them. Deploying self-driving cars for testing in regular traffic is a common, but costly and risky method, which has already caused fatalities. As a safer alternative, virtual tests, in which self-driving car software is tested in computer simulations, have been proposed. One cannot hope to sufficiently cover the huge number of possible driving situations self-driving cars must be tested for by manually creating such tests. Therefore, we developed AsFault, a tool for automatically generating virtual tests for systematically testing self-driving car software. We demonstrate AsFault by testing the lane keeping feature of an artificial intelligence-based self-driving car software, for which AsFault generates scenarios that cause it to drive off the road. A video illustrating AsFault in action is available at: https://youtu.be/lJ1sa42VLDw","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131948686","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}
引用次数: 29
IoT Composer: Composition and Deployment of IoT Applications IoT Composer: IoT应用程序的组成和部署
A. Krishna, M. L. Pallec, Radu Mateescu, L. Noirie, Gwen Salaün
The Internet of Things (IoT) consists of interconnected physical devices and software components. These connected things or objects exchange information in order to provide an end-user service. To fulfil this objective, such applications have to be designed by composing existing objects. However, this is a very difficult task mostly due to the heterogeneity and diversity of available objects. The IoT Composer tool was developed for supporting the development of IoT applications by first providing a behavioural model for objects and their composition. IoT Composer is developed as a web application that provides graphical support for composing available objects. The tool also provides automated validation techniques for verifying that the composition behaves correctly. Finally, a deployment plan is generated and can be run for effectively binding and instantiating all objects involved in the composition. IoT Composer was applied successfully to several real-world case studies. Video URL: https://youtu.be/6Cn3CUm5-qU
物联网(Internet of Things, IoT)由相互连接的物理设备和软件组件组成。这些连接的事物或对象交换信息以提供最终用户服务。为了实现这一目标,必须通过组合现有对象来设计此类应用程序。然而,这是一项非常困难的任务,主要是由于可用对象的异质性和多样性。IoT Composer工具是为了支持物联网应用程序的开发而开发的,它首先为对象及其组成提供了行为模型。IoT Composer是作为一个web应用程序开发的,它为组合可用对象提供图形支持。该工具还提供了自动验证技术,用于验证组合的行为是否正确。最后,生成一个部署计划,可以运行它来有效地绑定和实例化组合中涉及的所有对象。IoT Composer成功地应用于几个现实世界的案例研究。视频网址:https://youtu.be/6Cn3CUm5-qU
{"title":"IoT Composer: Composition and Deployment of IoT Applications","authors":"A. Krishna, M. L. Pallec, Radu Mateescu, L. Noirie, Gwen Salaün","doi":"10.1109/ICSE-Companion.2019.00028","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00028","url":null,"abstract":"The Internet of Things (IoT) consists of interconnected physical devices and software components. These connected things or objects exchange information in order to provide an end-user service. To fulfil this objective, such applications have to be designed by composing existing objects. However, this is a very difficult task mostly due to the heterogeneity and diversity of available objects. The IoT Composer tool was developed for supporting the development of IoT applications by first providing a behavioural model for objects and their composition. IoT Composer is developed as a web application that provides graphical support for composing available objects. The tool also provides automated validation techniques for verifying that the composition behaves correctly. Finally, a deployment plan is generated and can be run for effectively binding and instantiating all objects involved in the composition. IoT Composer was applied successfully to several real-world case studies. Video URL: https://youtu.be/6Cn3CUm5-qU","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131298632","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}
引用次数: 27
ALPACA: A Large Portfolio-Based Alternating Conditional Analysis ALPACA:基于大投资组合的交替条件分析
Mitchell J. Gerrard, Matthew B. Dwyer
Program analysis tools typically compute either may or must information. By accumulating both kinds of information computed with respect to different portions of a program's state space, it is possible to collect a comprehensive view of how program inputs relate to some property. This can be done using the framework of an alternating conditional analysis (ACA). In this paper, we present a toolset that instantiates an ACA to analyze C programs. The toolset, dubbed ALPACA (A Large Portfolio-based ACA), computes a sound characterization of all the ways a program either may or must satisfy some property. It does so by alternating between over-and underapproximate analyses, conditioning analyses to ignore portions of the program that have already been analyzed, and combining the results of 14 state-of-the-art analysis tools in a portfolio run in parallel. Download ALPACA at https://bitbucket.org/mgerrard/alpaca. Its video demonstration is at https://youtu.be/H2yXtvODurQ.
程序分析工具通常计算可能或必须的信息。通过累积针对程序状态空间的不同部分计算的两种信息,就有可能收集有关程序输入如何与某些属性相关的全面视图。这可以使用交替条件分析(ACA)的框架来完成。在本文中,我们提出了一个工具集,实例化了一个ACA来分析C程序。该工具集被称为ALPACA(基于大型投资组合的ACA),它计算出一个程序可能或必须满足某些属性的所有方式的可靠特征。它通过在过度近似和不足近似的分析之间交替进行,使分析忽略已经分析过的部分程序,并将14个最先进的分析工具的结果结合在一个并行运行的投资组合中来实现这一点。从https://bitbucket.org/mgerrard/alpaca下载ALPACA。它的演示视频在https://youtu.be/H2yXtvODurQ。
{"title":"ALPACA: A Large Portfolio-Based Alternating Conditional Analysis","authors":"Mitchell J. Gerrard, Matthew B. Dwyer","doi":"10.1109/ICSE-Companion.2019.00032","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00032","url":null,"abstract":"Program analysis tools typically compute either may or must information. By accumulating both kinds of information computed with respect to different portions of a program's state space, it is possible to collect a comprehensive view of how program inputs relate to some property. This can be done using the framework of an alternating conditional analysis (ACA). In this paper, we present a toolset that instantiates an ACA to analyze C programs. The toolset, dubbed ALPACA (A Large Portfolio-based ACA), computes a sound characterization of all the ways a program either may or must satisfy some property. It does so by alternating between over-and underapproximate analyses, conditioning analyses to ignore portions of the program that have already been analyzed, and combining the results of 14 state-of-the-art analysis tools in a portfolio run in parallel. Download ALPACA at https://bitbucket.org/mgerrard/alpaca. Its video demonstration is at https://youtu.be/H2yXtvODurQ.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124746459","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
PsALM: Specification of Dependable Robotic Missions 诗篇:可靠的机器人任务规范
C. Menghi, Christos Tsigkanos, T. Berger, Patrizio Pelliccione
Engineering dependable software for mobile robots is becoming increasingly important. A core asset to engineering mobile robots is the mission specification – a description of the mission that mobile robots shall achieve. Mission specifications are used, among others, to synthesize, verify, simulate or guide the engineering of robot software. However, development of precise mission specifications is challenging, as engineers need to translate requirements into specification structures often expressed in a logical language – a laborious and error-prone task. Specification patterns, as solutions for recurrent specification problems have been recognized as a solution for this problem. Each pattern details the usage intent, known uses, relationships to other patterns, and—most importantly—a template mission specification in temporal logic. Patterns constitute reusable building blocks that can be used by engineers to create complex mission specifications while reducing mistakes. To this end, we describe PsALM, a toolchain supporting the development of dependable robotic missions. PsALM supports the description of mission requirements through specification patterns and allows automatic generation of mission specifications. PsALM produces specifications expressed in LTL and CTL temporal logics to be used by planners, simulators and model checkers, supporting systematic mission design. The pattern catalog and PsALM is available on our dedicated website www.roboticpatterns.com
工程可靠的移动机器人软件变得越来越重要。工程移动机器人的核心资产是任务规范-移动机器人应完成的任务的描述。任务规范用于综合、验证、模拟或指导机器人软件的工程。然而,开发精确的任务规范是具有挑战性的,因为工程师需要将需求转换为通常用逻辑语言表示的规范结构——这是一项费力且容易出错的任务。规范模式,作为反复出现的规范问题的解决方案,已经被认为是这个问题的解决方案。每个模式详细说明了使用意图、已知用途、与其他模式的关系,以及最重要的——时态逻辑中的模板任务规范。模式构成可重用的构建块,工程师可以使用它来创建复杂的任务规范,同时减少错误。为此,我们描述了PsALM,一个支持可靠机器人任务开发的工具链。PsALM支持通过规范模式描述任务需求,并允许自动生成任务规范。PsALM产生以LTL和CTL时间逻辑表示的规范,供规划人员、模拟器和模型检查人员使用,支持系统任务设计。样式目录和PsALM可在我们的专门网站www.roboticpatterns.com上获得
{"title":"PsALM: Specification of Dependable Robotic Missions","authors":"C. Menghi, Christos Tsigkanos, T. Berger, Patrizio Pelliccione","doi":"10.1109/ICSE-Companion.2019.00048","DOIUrl":"https://doi.org/10.1109/ICSE-Companion.2019.00048","url":null,"abstract":"Engineering dependable software for mobile robots is becoming increasingly important. A core asset to engineering mobile robots is the mission specification – a description of the mission that mobile robots shall achieve. Mission specifications are used, among others, to synthesize, verify, simulate or guide the engineering of robot software. However, development of precise mission specifications is challenging, as engineers need to translate requirements into specification structures often expressed in a logical language – a laborious and error-prone task. Specification patterns, as solutions for recurrent specification problems have been recognized as a solution for this problem. Each pattern details the usage intent, known uses, relationships to other patterns, and—most importantly—a template mission specification in temporal logic. Patterns constitute reusable building blocks that can be used by engineers to create complex mission specifications while reducing mistakes. To this end, we describe PsALM, a toolchain supporting the development of dependable robotic missions. PsALM supports the description of mission requirements through specification patterns and allows automatic generation of mission specifications. PsALM produces specifications expressed in LTL and CTL temporal logics to be used by planners, simulators and model checkers, supporting systematic mission design. The pattern catalog and PsALM is available on our dedicated website www.roboticpatterns.com","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124766120","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}
引用次数: 22
期刊
2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
全部 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