首页 > 最新文献

Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops最新文献

英文 中文
Deep Learning for Software Defect Prediction: A Survey 深度学习用于软件缺陷预测:综述
Safa Omri, C. Sinz
Software fault prediction is an important and beneficial practice for improving software quality and reliability. The ability to predict which components in a large software system are most likely to contain the largest numbers of faults in the next release helps to better manage projects, including early estimation of possible release delays, and affordably guide corrective actions to improve the quality of the software. However, developing robust fault prediction models is a challenging task and many techniques have been proposed in the literature. Traditional software fault prediction studies mainly focus on manually designing features (e.g. complexity metrics), which are input into machine learning classifiers to identify defective code. However, these features often fail to capture the semantic and structural information of programs. Such information is needed for building accurate fault prediction models. In this survey, we discuss various approaches in fault prediction, also explaining how in recent studies deep learning algorithms for fault prediction help to bridge the gap between programs' semantics and fault prediction features and make accurate predictions.
软件故障预测是提高软件质量和可靠性的重要而有益的实践。预测大型软件系统中哪些组件在下一个版本中最有可能包含最多数量的错误的能力有助于更好地管理项目,包括对可能的发布延迟的早期估计,以及指导纠正行动以提高软件质量。然而,建立稳健的故障预测模型是一项具有挑战性的任务,文献中已经提出了许多技术。传统的软件故障预测研究主要集中在人工设计特征(如复杂性度量),将其输入到机器学习分类器中以识别缺陷代码。然而,这些特征往往不能捕获程序的语义和结构信息。这些信息是建立准确的故障预测模型所必需的。在本调查中,我们讨论了故障预测的各种方法,并解释了在最近的研究中,深度学习故障预测算法如何帮助弥合程序语义和故障预测特征之间的差距,并做出准确的预测。
{"title":"Deep Learning for Software Defect Prediction: A Survey","authors":"Safa Omri, C. Sinz","doi":"10.1145/3387940.3391463","DOIUrl":"https://doi.org/10.1145/3387940.3391463","url":null,"abstract":"Software fault prediction is an important and beneficial practice for improving software quality and reliability. The ability to predict which components in a large software system are most likely to contain the largest numbers of faults in the next release helps to better manage projects, including early estimation of possible release delays, and affordably guide corrective actions to improve the quality of the software. However, developing robust fault prediction models is a challenging task and many techniques have been proposed in the literature. Traditional software fault prediction studies mainly focus on manually designing features (e.g. complexity metrics), which are input into machine learning classifiers to identify defective code. However, these features often fail to capture the semantic and structural information of programs. Such information is needed for building accurate fault prediction models. In this survey, we discuss various approaches in fault prediction, also explaining how in recent studies deep learning algorithms for fault prediction help to bridge the gap between programs' semantics and fault prediction features and make accurate predictions.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"322 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115841855","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}
引用次数: 32
Double Cycle Hybrid Testing of Hybrid Distributed IoT System 混合分布式物联网系统的双周期混合测试
Cyrine Zid, D. Humeniuk, Foutse Khomh, G. Antoniol
Testing heterogeneous IoT applications such as a home automation systems integrating a variety of devices poses serious challenges. Oftentimes requirements are vaguely defined. Consumer grade cyber-physical devices and software may not meet the reliability and quality standard needed. Plus, system behavior may partially depend on various environmental conditions. For example, WI-FI congestion may cause packet delay; meanwhile cold weather may cause an unexpected drop of inside temperature. We surmise that generating and executing failure exposing scenarios is especially challenging. Modeling phenomenons such as network traffic or weather conditions is complex. One possible solution is to rely on machine learning models approximating the reality. These models, integrated in a system model, can be used to define surrogate models and fitness functions to steer the search in the direction of failure inducing scenarios. However, these models also should be validated. Therefore, there should be a double loop co-evolution between machine learned surrogate models functions and fitness functions. Overall, we argue that in such complex cyber-physical systems, co-evolution and multi-hybrid approaches are needed.
测试异构物联网应用(如集成各种设备的家庭自动化系统)带来了严峻的挑战。通常需求是模糊定义的。消费级网络物理设备和软件可能达不到所需的可靠性和质量标准。此外,系统行为可能部分取决于各种环境条件。例如,WI-FI拥塞可能导致数据包延迟;同时,寒冷的天气可能会导致内部温度意外下降。我们推测,生成和执行故障暴露场景尤其具有挑战性。对网络流量或天气条件等现象进行建模是复杂的。一个可能的解决方案是依靠接近现实的机器学习模型。这些模型集成在一个系统模型中,可以用来定义代理模型和适应度函数,以引导搜索朝着失败诱导场景的方向进行。然而,这些模型也应该被验证。因此,机器学习代理模型函数和适应度函数之间应该存在双环协同进化。总之,我们认为在这种复杂的网络物理系统中,需要共同进化和多混合方法。
{"title":"Double Cycle Hybrid Testing of Hybrid Distributed IoT System","authors":"Cyrine Zid, D. Humeniuk, Foutse Khomh, G. Antoniol","doi":"10.1145/3387940.3392218","DOIUrl":"https://doi.org/10.1145/3387940.3392218","url":null,"abstract":"Testing heterogeneous IoT applications such as a home automation systems integrating a variety of devices poses serious challenges. Oftentimes requirements are vaguely defined. Consumer grade cyber-physical devices and software may not meet the reliability and quality standard needed. Plus, system behavior may partially depend on various environmental conditions. For example, WI-FI congestion may cause packet delay; meanwhile cold weather may cause an unexpected drop of inside temperature. We surmise that generating and executing failure exposing scenarios is especially challenging. Modeling phenomenons such as network traffic or weather conditions is complex. One possible solution is to rely on machine learning models approximating the reality. These models, integrated in a system model, can be used to define surrogate models and fitness functions to steer the search in the direction of failure inducing scenarios. However, these models also should be validated. Therefore, there should be a double loop co-evolution between machine learned surrogate models functions and fitness functions. Overall, we argue that in such complex cyber-physical systems, co-evolution and multi-hybrid approaches are needed.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121914500","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
Splicing Community Patterns and Smells: A Preliminary Study 剪接群落模式与气味:初步研究
M. D. Stefano, Fabiano Pecorelli, D. Tamburri, Fabio Palomba, A. D. Lucia
Software engineering projects are now more than ever a community effort. In the recent past, researchers have shown that their success may not only depend on source code quality, but also on other aspects like the balance of distance, culture, global engineering practices, and more. In such a scenario, understanding the characteristics of the community around a project and foresee possible problems may be the key to develop successful systems. In this paper, we focus on this research problem and propose an exploratory study on the relation between community patterns, i.e., recurrent mixes of organizational or social structure types, and smells, i.e., sub-optimal patterns across the organizational structure of a software development community that may be precursors of some sort of social debt. We exploit association rule mining to discover frequent relations between them. Our findings show that different organizational patterns are connected to different forms of socio-technical problems, possibly suggesting that practitioners should put in place specific preventive actions aimed at avoiding the emergence of community smells depending on the organization of the project.
软件工程项目现在比以往任何时候都更需要社区的努力。在最近的过去,研究人员已经表明,他们的成功可能不仅取决于源代码质量,还取决于其他方面,如距离、文化、全球工程实践等的平衡。在这种情况下,了解项目周围社区的特征并预见可能出现的问题可能是开发成功系统的关键。在本文中,我们关注这个研究问题,并提出对社区模式(即组织或社会结构类型的反复混合)和气味(即跨软件开发社区组织结构的次优模式,可能是某种社会债务的前兆)之间关系的探索性研究。我们利用关联规则挖掘来发现它们之间的频繁关系。我们的研究结果表明,不同的组织模式与不同形式的社会技术问题有关,这可能表明,从业者应该根据项目的组织形式,采取具体的预防措施,以避免社区气味的出现。
{"title":"Splicing Community Patterns and Smells: A Preliminary Study","authors":"M. D. Stefano, Fabiano Pecorelli, D. Tamburri, Fabio Palomba, A. D. Lucia","doi":"10.1145/3387940.3392204","DOIUrl":"https://doi.org/10.1145/3387940.3392204","url":null,"abstract":"Software engineering projects are now more than ever a community effort. In the recent past, researchers have shown that their success may not only depend on source code quality, but also on other aspects like the balance of distance, culture, global engineering practices, and more. In such a scenario, understanding the characteristics of the community around a project and foresee possible problems may be the key to develop successful systems. In this paper, we focus on this research problem and propose an exploratory study on the relation between community patterns, i.e., recurrent mixes of organizational or social structure types, and smells, i.e., sub-optimal patterns across the organizational structure of a software development community that may be precursors of some sort of social debt. We exploit association rule mining to discover frequent relations between them. Our findings show that different organizational patterns are connected to different forms of socio-technical problems, possibly suggesting that practitioners should put in place specific preventive actions aimed at avoiding the emergence of community smells depending on the organization of the project.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"405 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122109093","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}
引用次数: 16
Behavior-Driven Development: A case study on its impacts on agile development teams 行为驱动开发:关于其对敏捷开发团队影响的案例研究
Nicolas Nascimento, Alan R. Santos, Afonso Sales, R. Chanin
Software development practices which enhance software quality and help teams better develop collaboratively have received attention by the academic community. Among these techniques is Behavior-Driven Development (BDD), a development method which proposes software to be developed focusing primarily on its expected behavior. In this context, this paper investigates how BDD impacts agile software development teams. In order to achieve this, we have conducted a case study on a mobile application development environment which develops software using agile. In total, 42 interviews were performed. Our results indicate that BDD can have positive impacts, increasing collaboration among team members, and negative impacts, like difficulties in writing unit tests. We concluded that BDD has more positive than negative outcomes.
提高软件质量和帮助团队更好地协作开发的软件开发实践已经受到学术界的关注。在这些技术中,行为驱动开发(BDD)是一种开发方法,它建议将软件开发主要集中在其预期的行为上。在此背景下,本文研究了BDD如何影响敏捷软件开发团队。为了实现这一点,我们对使用敏捷开发软件的移动应用程序开发环境进行了案例研究。总共进行了42次访谈。我们的结果表明,BDD可以产生积极的影响,增加团队成员之间的协作,也可以产生消极的影响,比如编写单元测试的困难。我们得出结论,BDD的积极结果多于消极结果。
{"title":"Behavior-Driven Development: A case study on its impacts on agile development teams","authors":"Nicolas Nascimento, Alan R. Santos, Afonso Sales, R. Chanin","doi":"10.1145/3387940.3391480","DOIUrl":"https://doi.org/10.1145/3387940.3391480","url":null,"abstract":"Software development practices which enhance software quality and help teams better develop collaboratively have received attention by the academic community. Among these techniques is Behavior-Driven Development (BDD), a development method which proposes software to be developed focusing primarily on its expected behavior. In this context, this paper investigates how BDD impacts agile software development teams. In order to achieve this, we have conducted a case study on a mobile application development environment which develops software using agile. In total, 42 interviews were performed. Our results indicate that BDD can have positive impacts, increasing collaboration among team members, and negative impacts, like difficulties in writing unit tests. We concluded that BDD has more positive than negative outcomes.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116464019","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}
引用次数: 7
Software Engineering in a Governed World: Opportunities and Challenges 受控世界中的软件工程:机遇与挑战
R. Bose, Kapil Singi, Vikrant S. Kaulgud, Sanjay Podder, Adam P. Burden
Modern software applications are becoming ubiquitous and pervasive affecting various aspects of our lives and livelihoods. At the same time, the risks to which these systems expose the organizations and end users are also growing dramatically. Governments and regulatory bodies are moving towards developing laws, regulations, and guidelines for several software applications (e.g., those that use data, are based on AI/ML etc.) across different domains. These mandates impose several challenges in the way how software is built and delivered, primary amongst them is to ensure that software and its delivery processes are compliant. There is a need for governance frameworks that enable the recording, monitoring, and analysis of various activities throughout the application development life cycle making the development processes transparent, traceable, verifiable, auditable, and adhering to regulations and best practices, thereby enabling trustworthiness of software. In this paper, we discuss about the challenges and opportunities of software engineering in the governance era.
现代软件应用程序正变得无处不在,无处不在,影响着我们生活和生计的各个方面。与此同时,这些系统暴露给组织和最终用户的风险也在急剧增长。政府和监管机构正朝着为不同领域的几个软件应用程序(例如,那些使用数据的,基于AI/ML等)制定法律、法规和指导方针的方向发展。这些命令对软件的构建和交付方式提出了一些挑战,其中主要的挑战是确保软件及其交付过程是兼容的。我们需要治理框架,它能够在整个应用程序开发生命周期中记录、监视和分析各种活动,使开发过程透明、可跟踪、可验证、可审计,并遵守规则和最佳实践,从而实现软件的可信度。在本文中,我们讨论了在治理时代软件工程的挑战和机遇。
{"title":"Software Engineering in a Governed World: Opportunities and Challenges","authors":"R. Bose, Kapil Singi, Vikrant S. Kaulgud, Sanjay Podder, Adam P. Burden","doi":"10.1145/3387940.3392270","DOIUrl":"https://doi.org/10.1145/3387940.3392270","url":null,"abstract":"Modern software applications are becoming ubiquitous and pervasive affecting various aspects of our lives and livelihoods. At the same time, the risks to which these systems expose the organizations and end users are also growing dramatically. Governments and regulatory bodies are moving towards developing laws, regulations, and guidelines for several software applications (e.g., those that use data, are based on AI/ML etc.) across different domains. These mandates impose several challenges in the way how software is built and delivered, primary amongst them is to ensure that software and its delivery processes are compliant. There is a need for governance frameworks that enable the recording, monitoring, and analysis of various activities throughout the application development life cycle making the development processes transparent, traceable, verifiable, auditable, and adhering to regulations and best practices, thereby enabling trustworthiness of software. In this paper, we discuss about the challenges and opportunities of software engineering in the governance era.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116815410","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
Flexible Probabilistic Modeling for Search Based Test Data Generation 基于搜索的测试数据生成的灵活概率建模
R. Feldt, S. Yoo
While Search-Based Software Testing (SBST) has improved significantly in the last decade we propose that more flexible, probabilistic models can be leveraged to improve it further. Rather than searching for an individual, or even sets of, test case(s) or datum(s) that fulfil specific needs the goal can be to learn a generative model tuned to output a useful family of values. Such generative models can naturally be decomposed into a structured generator and a probabilistic model that determines how to make non-deterministic choices during generation. While the former constrains the generation process to produce valid values the latter allows learning and tuning to specific goals. SBST techniques differ in their level of integration of the two but, regardless of how close it is, we argue that the flexibility and power of the probabilistic model will be a main determinant of success. In this short paper, we present how some existing SBST techniques can be viewed from this perspective and then propose additional techniques for flexible generative modelling the community should consider. In particular, Probabilistic Programming languages (PPLs) and Genetic Programming (GP) should be investigated since they allow for very flexible probabilistic modelling. Benefits could range from utilising the multiple program executions that SBST techniques typically require to allowing the encoding of high-level test strategies.
虽然基于搜索的软件测试(SBST)在过去十年中有了显著的改进,但我们建议可以利用更灵活的概率模型来进一步改进它。与其搜索满足特定需求的单个,甚至是一组测试用例或数据,不如学习一个生成模型,以输出一系列有用的值。这种生成模型可以自然地分解为一个结构化的生成器和一个概率模型,后者决定了如何在生成过程中做出非确定性的选择。前者限制生成过程产生有效的值,而后者允许学习和调整特定的目标。SBST技术在两者的整合程度上有所不同,但是,无论它们有多接近,我们认为概率模型的灵活性和力量将是成功的主要决定因素。在这篇短文中,我们介绍了如何从这个角度看待一些现有的SBST技术,然后提出了社区应该考虑的灵活生成建模的其他技术。特别是,应该研究概率编程语言(ppl)和遗传编程语言(GP),因为它们允许非常灵活的概率建模。好处包括利用SBST技术通常需要的多个程序执行,以及允许对高级测试策略进行编码。
{"title":"Flexible Probabilistic Modeling for Search Based Test Data Generation","authors":"R. Feldt, S. Yoo","doi":"10.1145/3387940.3392215","DOIUrl":"https://doi.org/10.1145/3387940.3392215","url":null,"abstract":"While Search-Based Software Testing (SBST) has improved significantly in the last decade we propose that more flexible, probabilistic models can be leveraged to improve it further. Rather than searching for an individual, or even sets of, test case(s) or datum(s) that fulfil specific needs the goal can be to learn a generative model tuned to output a useful family of values. Such generative models can naturally be decomposed into a structured generator and a probabilistic model that determines how to make non-deterministic choices during generation. While the former constrains the generation process to produce valid values the latter allows learning and tuning to specific goals. SBST techniques differ in their level of integration of the two but, regardless of how close it is, we argue that the flexibility and power of the probabilistic model will be a main determinant of success. In this short paper, we present how some existing SBST techniques can be viewed from this perspective and then propose additional techniques for flexible generative modelling the community should consider. In particular, Probabilistic Programming languages (PPLs) and Genetic Programming (GP) should be investigated since they allow for very flexible probabilistic modelling. Benefits could range from utilising the multiple program executions that SBST techniques typically require to allowing the encoding of high-level test strategies.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115284707","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
Cross-distribution Feedback in Software Ecosystems 软件生态系统中的交叉反馈
A. Foundjem
Despite the proliferation of software ecosystems (SECOs), growing a sustainable and healthy SECO remains a significant challenge. One approach to mitigate this challenge is the utilization of a mechanism that collects feedback from distributors (distros) and end-users of the SECO releases. This presentation aims at investigating the effectiveness of the feedback mechanism implemented by OpenStack to address the needs of end-users and distros. I mined the OpenStack repositories and mapped 20 distros' bug-related activities. Results suggest that OpenStack releases are actively maintained for 18 months before reaching end-of-life (EOL), which makes coordination with distros difficult because distros usually provide services to their end-users for a period between 36 - 60 months before reaching EOL. Also, bugs are fixed faster by the distros (7 - 76 days) than the OpenStack community (average of 4 months). However, only 22% of the bugs addressed by OpenStack distros are pushed back upstream.
尽管软件生态系统(SECO)数量激增,但发展一个可持续、健康的SECO仍然是一项重大挑战。缓解这一挑战的一种方法是利用一种机制,从SECO版本的分发者(发行版)和最终用户那里收集反馈。本演讲旨在调查OpenStack实现的反馈机制的有效性,以满足最终用户和发行版的需求。我挖掘了OpenStack存储库,并映射了20个发行版的bug相关活动。结果表明,OpenStack版本在达到生命终止期(EOL)之前会积极维护18个月,这使得与发行版的协调变得困难,因为发行版通常在达到EOL之前为最终用户提供36 - 60个月的服务。此外,发行版修复bug的速度(7 - 76天)比OpenStack社区(平均4个月)要快。然而,OpenStack发行版解决的bug中只有22%被推回上游。
{"title":"Cross-distribution Feedback in Software Ecosystems","authors":"A. Foundjem","doi":"10.1145/3387940.3392188","DOIUrl":"https://doi.org/10.1145/3387940.3392188","url":null,"abstract":"Despite the proliferation of software ecosystems (SECOs), growing a sustainable and healthy SECO remains a significant challenge. One approach to mitigate this challenge is the utilization of a mechanism that collects feedback from distributors (distros) and end-users of the SECO releases. This presentation aims at investigating the effectiveness of the feedback mechanism implemented by OpenStack to address the needs of end-users and distros. I mined the OpenStack repositories and mapped 20 distros' bug-related activities. Results suggest that OpenStack releases are actively maintained for 18 months before reaching end-of-life (EOL), which makes coordination with distros difficult because distros usually provide services to their end-users for a period between 36 - 60 months before reaching EOL. Also, bugs are fixed faster by the distros (7 - 76 days) than the OpenStack community (average of 4 months). However, only 22% of the bugs addressed by OpenStack distros are pushed back upstream.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116719186","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
Checkers 跳棋
Santanu Kumar Dash, Fan Wu, Michail Basios, Lingbo Li, Leslie Kanthan
Advent of microservices has increased the popularity of the API-first design principles. Developers have been focusing on concretising the API to a system before building the system. An API-first approach assumes that the API will be correctly used. Inevitably, most developers, even experienced ones, end-up writing sub-optimal software because of using APIs incorrectly. In this paper, we discuss an automated approach for exploring API equivalence and a framework to synthesise semantically equivalent programs. Unlike existing approaches to API transplantation, we propose an amorphous or formless approach to software translation in which a single API could potentially be replaced by a synthesised sequence of APIs which ensures type progress. Our search is guided by the non-functional goals for the software, a type-theoretic notion of progress, the application's test suite and an automatic multi-modal embedding of the API from its documentation and code analysis.
{"title":"Checkers","authors":"Santanu Kumar Dash, Fan Wu, Michail Basios, Lingbo Li, Leslie Kanthan","doi":"10.1145/3387940.3392173","DOIUrl":"https://doi.org/10.1145/3387940.3392173","url":null,"abstract":"Advent of microservices has increased the popularity of the API-first design principles. Developers have been focusing on concretising the API to a system before building the system. An API-first approach assumes that the API will be correctly used. Inevitably, most developers, even experienced ones, end-up writing sub-optimal software because of using APIs incorrectly. In this paper, we discuss an automated approach for exploring API equivalence and a framework to synthesise semantically equivalent programs. Unlike existing approaches to API transplantation, we propose an amorphous or formless approach to software translation in which a single API could potentially be replaced by a synthesised sequence of APIs which ensures type progress. Our search is guided by the non-functional goals for the software, a type-theoretic notion of progress, the application's test suite and an automatic multi-modal embedding of the API from its documentation and code analysis.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116932878","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
Society-Level Software Governance: A Challenging Scenario 社会级软件治理:一个具有挑战性的场景
Jürgen Musil, Angelika Musil, Danny Weyns, S. Biffl
The technology-driven transformation process continues to spawn novel, growth-oriented digital application domains and platforms. The user base of these society-level software systems consists of a larger proportion of the community and that involve a large set of stakeholder groups. In case of an incident there is a public demand from a variety of stakeholders for multilateral intervention in order to correct the behavior of the software system. For software engineering as a technical discipline that has been fostered and matured in corporate and organizational context, this is a major challenge because it has to deal with a multitude of multidisciplinary stakeholders and their concerns. In order to stimulate further discussions, we discuss software governance on societal level and identify future research challenges of this increasingly relevant topic.
技术驱动的转型过程继续催生新的、以增长为导向的数字应用领域和平台。这些社会级软件系统的用户基础由较大比例的社区组成,并且涉及大量涉众组。在事件发生的情况下,为了纠正软件系统的行为,来自各种利益相关者的多方干预的公开需求。对于软件工程作为一门在公司和组织环境中培养和成熟的技术学科来说,这是一个主要的挑战,因为它必须处理大量的多学科涉众和他们的关注点。为了激发进一步的讨论,我们在社会层面上讨论软件治理,并确定这个日益相关的主题的未来研究挑战。
{"title":"Society-Level Software Governance: A Challenging Scenario","authors":"Jürgen Musil, Angelika Musil, Danny Weyns, S. Biffl","doi":"10.1145/3387940.3392269","DOIUrl":"https://doi.org/10.1145/3387940.3392269","url":null,"abstract":"The technology-driven transformation process continues to spawn novel, growth-oriented digital application domains and platforms. The user base of these society-level software systems consists of a larger proportion of the community and that involve a large set of stakeholder groups. In case of an incident there is a public demand from a variety of stakeholders for multilateral intervention in order to correct the behavior of the software system. For software engineering as a technical discipline that has been fostered and matured in corporate and organizational context, this is a major challenge because it has to deal with a multitude of multidisciplinary stakeholders and their concerns. In order to stimulate further discussions, we discuss software governance on societal level and identify future research challenges of this increasingly relevant topic.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125158003","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
Stack-Based Genetic Improvement 基于堆栈的遗传改良
Aymeric Blot, J. Petke
Genetic improvement (GI) uses automated search to find improved versions of existing software. If originally GI directly evolved populations of software, most GI work nowadays use a solution representation based on a list of mutations. This representation however has some limitations, notably in how genetic material can be re-combined. We introduce a novel stack-based representation and discuss its possible benefits.
遗传改进(GI)使用自动搜索来查找现有软件的改进版本。如果最初GI是直接进化软件种群,那么现在大多数GI工作使用基于突变列表的解决方案表示。然而,这种表示有一些局限性,特别是在遗传物质如何重新组合方面。我们介绍了一种新的基于堆栈的表示,并讨论了它可能带来的好处。
{"title":"Stack-Based Genetic Improvement","authors":"Aymeric Blot, J. Petke","doi":"10.1145/3387940.3392174","DOIUrl":"https://doi.org/10.1145/3387940.3392174","url":null,"abstract":"Genetic improvement (GI) uses automated search to find improved versions of existing software. If originally GI directly evolved populations of software, most GI work nowadays use a solution representation based on a list of mutations. This representation however has some limitations, notably in how genetic material can be re-combined. We introduce a novel stack-based representation and discuss its possible benefits.","PeriodicalId":309659,"journal":{"name":"Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops","volume":"357 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122806462","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
期刊
Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops
全部 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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1