首页 > 最新文献

2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)最新文献

英文 中文
Adopting DevOps Paradigm in Technical Debt Prioritization and Mitigation 在技术债务优先级和缓解中采用DevOps范式
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00055
M. Stochel, P. Chołda, Mariusz R. Wawrowski
The constantly growing amount of software in use, accompanied by huge amount of technical debt, gradually raises concern in the industry. New technologies and software development processes become yet another degree of freedom boosting the complexity. As the software development and delivery techniques evolve, technical debt perspective should follow. Taking into account all software artefacts enabling value delivery to customers, embracing DevOps paradigm and its holistic focus on software development lifecycle, the strategy presented in this paper enabled stabilization of a large telecommunication software system after a set of consecutive complex merges. The research question of this paper looks for evidence whether prioritization of technical debt mitigation efforts bring a faster return on investment. A 2-year-long case study focused on technical debt prioritization and mitigation that was conducted on this software system resulted in improved quality and stabilization of feature development efforts (cost and time based). Therefore, the tangible gains from applying this approach comprise over 50% decrease in stability issues, improved screening by over 30%, and 6 times better predictability of delivery time (reducing allocation of stabilization effort and time).
不断增长的软件使用量,伴随着巨额的技术债务,逐渐引起了业界的关注。新技术和软件开发过程成为增加复杂性的另一个自由度。随着软件开发和交付技术的发展,技术债务视角也应该随之发展。考虑到所有能够向客户交付价值的软件工件,采用DevOps范式及其对软件开发生命周期的整体关注,本文中提出的策略能够在一系列连续的复杂合并之后实现大型电信软件系统的稳定。本文的研究问题是寻找证据证明技术债务缓解工作的优先级是否会带来更快的投资回报。对该软件系统进行了为期2年的案例研究,重点关注技术债务的优先级和缓解,从而提高了特性开发工作的质量和稳定性(基于成本和时间)。因此,应用这种方法的实际收益包括稳定性问题减少50%以上,筛分提高30%以上,交付时间的可预测性提高6倍(减少了稳定工作和时间的分配)。
{"title":"Adopting DevOps Paradigm in Technical Debt Prioritization and Mitigation","authors":"M. Stochel, P. Chołda, Mariusz R. Wawrowski","doi":"10.1109/SEAA56994.2022.00055","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00055","url":null,"abstract":"The constantly growing amount of software in use, accompanied by huge amount of technical debt, gradually raises concern in the industry. New technologies and software development processes become yet another degree of freedom boosting the complexity. As the software development and delivery techniques evolve, technical debt perspective should follow. Taking into account all software artefacts enabling value delivery to customers, embracing DevOps paradigm and its holistic focus on software development lifecycle, the strategy presented in this paper enabled stabilization of a large telecommunication software system after a set of consecutive complex merges. The research question of this paper looks for evidence whether prioritization of technical debt mitigation efforts bring a faster return on investment. A 2-year-long case study focused on technical debt prioritization and mitigation that was conducted on this software system resulted in improved quality and stabilization of feature development efforts (cost and time based). Therefore, the tangible gains from applying this approach comprise over 50% decrease in stability issues, improved screening by over 30%, and 6 times better predictability of delivery time (reducing allocation of stabilization effort and time).","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115449682","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
The Impact of Parameters Optimization in Software Prediction Models 参数优化对软件预测模型的影响
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00041
Asad Ali, C. Gravino
Several studies have raised concerns about the performance of estimation techniques if employed with default parameters provided by specific development toolkits, e.g., Weka. In this paper, we evaluate the impact of parameter optimization with nine different estimation techniques in the Software Development Effort Estimation (SDEE) and Software Fault Prediction (SFP) domains to provide more generic findings of the impact of parameter optimization. To this aim, we employ three datasets from the domain of SDEE (China, Maxwell, Nasa) and three different regression-based datasets from the SFP domain (Ant, Xalan, Xerces). Regarding parameter optimization, we consider four optimization algorithms from different families: Grid Search and Random Search, Simulated Annealing, and Bayesian Optimization. The estimation techniques are: Support Vector Machine, Random Forest, Classification and Regression Tree, Neural Networks, Averaged Neural Networks, k-Nearest Neighbor, Partial Least Square, MultiLayer Perceptron, and Gradient Boosting Machine. Results reveal that, with both SDEE and SFP datasets, seven out of nine estimation techniques require optimization/configuration of at least one parameter. In majority of the cases, the parameters of the employed estimation techniques are sensitive to the optimization of specific types of data. Moreover, not all the parameters need to be optimized as some of them are not sensitive to optimization.
一些研究已经提出了对使用特定开发工具包(例如Weka)提供的默认参数的评估技术的性能的关注。在本文中,我们使用软件开发工作量估计(SDEE)和软件故障预测(SFP)领域中的九种不同的估计技术来评估参数优化的影响,以提供参数优化影响的更多通用发现。为此,我们使用了来自SDEE领域的三个数据集(中国,麦克斯韦,美国宇航局)和来自SFP领域的三个不同的基于回归的数据集(Ant, Xalan, Xerces)。在参数优化方面,我们考虑了来自不同家族的四种优化算法:网格搜索和随机搜索、模拟退火和贝叶斯优化。估计技术有:支持向量机、随机森林、分类与回归树、神经网络、平均神经网络、k近邻、偏最小二乘、多层感知机和梯度增强机。结果表明,对于SDEE和SFP数据集,9种估计技术中有7种需要优化/配置至少一个参数。在大多数情况下,所采用的估计技术的参数对特定类型数据的优化很敏感。此外,并不是所有的参数都需要优化,因为有些参数对优化并不敏感。
{"title":"The Impact of Parameters Optimization in Software Prediction Models","authors":"Asad Ali, C. Gravino","doi":"10.1109/SEAA56994.2022.00041","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00041","url":null,"abstract":"Several studies have raised concerns about the performance of estimation techniques if employed with default parameters provided by specific development toolkits, e.g., Weka. In this paper, we evaluate the impact of parameter optimization with nine different estimation techniques in the Software Development Effort Estimation (SDEE) and Software Fault Prediction (SFP) domains to provide more generic findings of the impact of parameter optimization. To this aim, we employ three datasets from the domain of SDEE (China, Maxwell, Nasa) and three different regression-based datasets from the SFP domain (Ant, Xalan, Xerces). Regarding parameter optimization, we consider four optimization algorithms from different families: Grid Search and Random Search, Simulated Annealing, and Bayesian Optimization. The estimation techniques are: Support Vector Machine, Random Forest, Classification and Regression Tree, Neural Networks, Averaged Neural Networks, k-Nearest Neighbor, Partial Least Square, MultiLayer Perceptron, and Gradient Boosting Machine. Results reveal that, with both SDEE and SFP datasets, seven out of nine estimation techniques require optimization/configuration of at least one parameter. In majority of the cases, the parameters of the employed estimation techniques are sensitive to the optimization of specific types of data. Moreover, not all the parameters need to be optimized as some of them are not sensitive to optimization.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116875515","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
An Evaluation of General-Purpose Static Analysis Tools on C/C++ Test Code 通用静态分析工具对C/ c++测试代码的评价
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00029
Jean Malm, Eduard Paul Enoiu, Masud Abu Naser, B. Lisper, Z. Porkoláb, Sigrid Eldh
In recent years, maintaining test code quality has gained more attention due to increased automation and the growing focus on issues caused during this process.Test code may become long and complex, but maintaining its quality is mostly a manual process, that may not scale in big software projects. Moreover, bugs in test code may give a false impression about the correctness or performance of the production code. Static program analysis (SPA) tools are being used to maintain the quality of software projects nowadays. However, these tools are either not used to analyse test code, or any analysis results on the test code are suppressed.This is especially true since SPA tools are not tailored to generate precise warnings on test code. This paper investigates the use of SPA on test code by employing three state-of-the-art general-purpose static analysers on a curated set of projects used in the industry and a random sample of relatively popular and large open-source C/C++ projects. We have found a number of built-in code checking modules that can detect quality issues in the test code. However, these checkers need some tailoring to obtain relevant results. We observed design choices in test frameworks that raise noisy warnings in analysers and propose a set of augmentations to the checkers or the analysis framework to obtain precise warnings from static analysers.
近年来,由于自动化程度的提高和对测试过程中所引起的问题的日益关注,维护测试代码质量得到了更多的关注。测试代码可能变得又长又复杂,但是维护它的质量主要是一个手工过程,在大型软件项目中可能无法扩展。此外,测试代码中的错误可能会给生产代码的正确性或性能带来错误的印象。静态程序分析(SPA)工具现在被用于维护软件项目的质量。然而,这些工具要么不用于分析测试代码,要么测试代码上的任何分析结果都被抑制。这一点尤其正确,因为SPA工具并没有针对测试代码生成精确的警告。本文通过使用三个最先进的通用静态分析器来研究SPA在测试代码上的使用,这些分析器是在行业中使用的一组精心策划的项目和相对流行的大型开源C/ c++项目的随机样本上使用的。我们已经发现了一些内置的代码检查模块,可以检测测试代码中的质量问题。然而,这些检查器需要一些裁剪才能获得相关的结果。我们观察到测试框架中的设计选择会在分析器中产生嘈杂的警告,并建议对检查器或分析框架进行一组增强,以从静态分析器中获得精确的警告。
{"title":"An Evaluation of General-Purpose Static Analysis Tools on C/C++ Test Code","authors":"Jean Malm, Eduard Paul Enoiu, Masud Abu Naser, B. Lisper, Z. Porkoláb, Sigrid Eldh","doi":"10.1109/SEAA56994.2022.00029","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00029","url":null,"abstract":"In recent years, maintaining test code quality has gained more attention due to increased automation and the growing focus on issues caused during this process.Test code may become long and complex, but maintaining its quality is mostly a manual process, that may not scale in big software projects. Moreover, bugs in test code may give a false impression about the correctness or performance of the production code. Static program analysis (SPA) tools are being used to maintain the quality of software projects nowadays. However, these tools are either not used to analyse test code, or any analysis results on the test code are suppressed.This is especially true since SPA tools are not tailored to generate precise warnings on test code. This paper investigates the use of SPA on test code by employing three state-of-the-art general-purpose static analysers on a curated set of projects used in the industry and a random sample of relatively popular and large open-source C/C++ projects. We have found a number of built-in code checking modules that can detect quality issues in the test code. However, these checkers need some tailoring to obtain relevant results. We observed design choices in test frameworks that raise noisy warnings in analysers and propose a set of augmentations to the checkers or the analysis framework to obtain precise warnings from static analysers.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127152602","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
Regularity or Anomaly? On The Use of Anomaly Detection for Fine-Grained JIT Defect Prediction 规律还是异常?异常检测在细粒度JIT缺陷预测中的应用
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00049
Francesco Lomio, L. Pascarella, Fabio Palomba, Valentina Lenarduzzi
Fine-grained just-in-time defect prediction aims at identifying likely defective files within new commits. Popular techniques are based on supervised learning, where machine learning algorithms are fed with historical data. One of the limitations of these techniques is concerned with the use of imbalanced data that only contain a few defective samples to enable a proper learning phase. To overcome this problem, recent work has shown that anomaly detection can be used as an alternative. With our study, we aim at assessing how anomaly detection can be employed for the problem of fine-grained just-in-time defect prediction. We conduct an empirical investigation on 32 open-source projects, designing and evaluating three anomaly detection methods for fine-grained just-in-time defect prediction. Our results do not show significant advantages that justify the benefit of anomaly detection over machine learning approaches.
细粒度的即时缺陷预测旨在识别新提交中可能存在缺陷的文件。流行的技术是基于监督学习,其中机器学习算法被输入历史数据。这些技术的局限性之一是使用不平衡的数据,这些数据只包含少数有缺陷的样本,以实现适当的学习阶段。为了克服这个问题,最近的研究表明,异常检测可以作为一种替代方法。通过我们的研究,我们的目标是评估如何将异常检测用于细粒度实时缺陷预测问题。我们对32个开源项目进行了实证调查,设计并评估了三种用于细粒度实时缺陷预测的异常检测方法。我们的结果并没有显示出异常检测优于机器学习方法的显著优势。
{"title":"Regularity or Anomaly? On The Use of Anomaly Detection for Fine-Grained JIT Defect Prediction","authors":"Francesco Lomio, L. Pascarella, Fabio Palomba, Valentina Lenarduzzi","doi":"10.1109/SEAA56994.2022.00049","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00049","url":null,"abstract":"Fine-grained just-in-time defect prediction aims at identifying likely defective files within new commits. Popular techniques are based on supervised learning, where machine learning algorithms are fed with historical data. One of the limitations of these techniques is concerned with the use of imbalanced data that only contain a few defective samples to enable a proper learning phase. To overcome this problem, recent work has shown that anomaly detection can be used as an alternative. With our study, we aim at assessing how anomaly detection can be employed for the problem of fine-grained just-in-time defect prediction. We conduct an empirical investigation on 32 open-source projects, designing and evaluating three anomaly detection methods for fine-grained just-in-time defect prediction. Our results do not show significant advantages that justify the benefit of anomaly detection over machine learning approaches.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116241850","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
Technical Debt Management in Automotive Software Industry 汽车软件行业的技术债务管理
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00053
G. Lami, G. Spagnolo
The suppliers of software-intensive electronic automotive components are facing technical challenges due to the innovation rush and the growing time pressure from customers. As the quality of on-board automotive electronic systems is strongly dependent on the quality of their development practices, car manufacturers and suppliers proactively focus on improving technical and organizational processes. Automotive SPICE (ASPICE) is today the reference standard for assessing and improving automotive electronics processes and projects in this setting. As car manufacturers use ASPICE to qualify their suppliers of software-intensive systems, such a standard becomes a market demand. This paper identifies and discusses the benefits and impact of the integration and harmonization of Technical Debt Management (TDM) in an ASPICE-compliant software development project. Besides this paper provides a conceptual framework and a reference process description for the integration of ASPICE and TDM practices in a sample Software Engineering process.
由于创新热潮和客户日益增长的时间压力,软件密集型汽车电子零部件供应商面临着技术挑战。由于车载电子系统的质量在很大程度上取决于其开发实践的质量,因此汽车制造商和供应商积极关注改进技术和组织流程。汽车SPICE (ASPICE)是当今评估和改进汽车电子工艺和项目的参考标准。随着汽车制造商使用ASPICE对其软件密集型系统供应商进行资格认证,这样的标准成为一种市场需求。本文确定并讨论了在符合aspice的软件开发项目中集成和协调技术债务管理(TDM)的好处和影响。此外,本文还为ASPICE和TDM实践在软件工程过程中的集成提供了一个概念框架和参考过程描述。
{"title":"Technical Debt Management in Automotive Software Industry","authors":"G. Lami, G. Spagnolo","doi":"10.1109/SEAA56994.2022.00053","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00053","url":null,"abstract":"The suppliers of software-intensive electronic automotive components are facing technical challenges due to the innovation rush and the growing time pressure from customers. As the quality of on-board automotive electronic systems is strongly dependent on the quality of their development practices, car manufacturers and suppliers proactively focus on improving technical and organizational processes. Automotive SPICE (ASPICE) is today the reference standard for assessing and improving automotive electronics processes and projects in this setting. As car manufacturers use ASPICE to qualify their suppliers of software-intensive systems, such a standard becomes a market demand. This paper identifies and discusses the benefits and impact of the integration and harmonization of Technical Debt Management (TDM) in an ASPICE-compliant software development project. Besides this paper provides a conceptual framework and a reference process description for the integration of ASPICE and TDM practices in a sample Software Engineering process.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121999793","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
“There and Back Again?” On the Influence of Software Community Dispersion Over Productivity “去而复返?”论软件社区分散对生产力的影响
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00035
Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, D. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, F. Ferrucci
Estimating and understanding productivity still represents a crucial task for researchers and practitioners. Researchers spent significant effort identifying the factors that influence software developers’ productivity, providing several approaches for analyzing and predicting such a metric. Although different works focused on evaluating the impact of human factors on productivity, little is known about the influence of cultural/geographical diversity in software development communities. Indeed, in previous studies, researchers treated cultural aspects like an abstract concept without providing a quantitative representation. This work provides an empirical assessment of the relationship between cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it—and its productivity. To reach our aim, we built a statistical model that contained product and socio-technical factors as independent variables to assess the correlation with productivity, i.e., the number of commits performed in a given time. Then, we ran our model considering data of 25 open-source communities on GitHub. Results of our study indicate that cultural and geographical dispersion impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle.
对研究人员和实践者来说,评估和理解生产力仍然是一项至关重要的任务。研究人员花费了大量的精力来确定影响软件开发人员生产力的因素,并提供了几种分析和预测这种度量的方法。尽管不同的工作集中于评估人类因素对生产力的影响,但很少有人知道文化/地理多样性对软件开发社区的影响。事实上,在之前的研究中,研究人员将文化方面视为抽象概念,而没有提供定量表征。这项工作对发展社区的文化和地理分散之间的关系进行了实证评估——即,一个社区在文化态度和属于它的成员的地理搭配方面的多样性,以及它的生产力。为了达到我们的目标,我们建立了一个包含产品和社会技术因素作为独立变量的统计模型,以评估与生产力的相关性,即在给定时间内执行的提交数量。然后,我们考虑了GitHub上25个开源社区的数据来运行我们的模型。我们的研究结果表明文化和地理上的分散影响生产力,因此鼓励管理者和实践者在软件开发生命周期的所有阶段考虑这些方面。
{"title":"“There and Back Again?” On the Influence of Software Community Dispersion Over Productivity","authors":"Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, D. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, F. Ferrucci","doi":"10.1109/SEAA56994.2022.00035","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00035","url":null,"abstract":"Estimating and understanding productivity still represents a crucial task for researchers and practitioners. Researchers spent significant effort identifying the factors that influence software developers’ productivity, providing several approaches for analyzing and predicting such a metric. Although different works focused on evaluating the impact of human factors on productivity, little is known about the influence of cultural/geographical diversity in software development communities. Indeed, in previous studies, researchers treated cultural aspects like an abstract concept without providing a quantitative representation. This work provides an empirical assessment of the relationship between cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it—and its productivity. To reach our aim, we built a statistical model that contained product and socio-technical factors as independent variables to assess the correlation with productivity, i.e., the number of commits performed in a given time. Then, we ran our model considering data of 25 open-source communities on GitHub. Results of our study indicate that cultural and geographical dispersion impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124293808","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
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract Testing 基于消费者驱动契约测试的微服务系统实证分析
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00022
Hamdy Michael Ayas, Hartmut Fischer, P. Leitner, F. D. O. Neto
Testing has a prominent role in revealing faults in software based on microservices. One of the most important discussion points in MSAs is the granularity of services, often in different levels of abstraction. Similarly, the granularity of tests in MSAs is reflected in different test types. However, it is challenging to conceptualize how the overall testing architecture comes together when combining testing in different levels of abstraction for microservices. There is no empirical evidence on the overall testing architecture in such microservices implementations. Furthermore, there is a need to empirically understand how the current state of practice resonates with existing best practices on testing. In this study, we mine Github to find different candidate projects for an in-depth, qualitative assessment of their test artifacts. We analyze 16 repositories that use microservices and include various test artifacts. We focus on four projects that use consumer-driven-contract testing. Our results demonstrate how these projects cover different levels of testing. This study (i) drafts a testing architecture including activities and artifacts, and (ii) demonstrates how these align with best practices and guidelines. Our proposed architecture helps the categorization of system and test artifacts in empirical studies of microservices. Finally, we showcase a view of the boundaries between different levels of testing in systems using microservices.
测试在揭示基于微服务的软件中的错误方面起着重要的作用。msa中最重要的讨论点之一是服务的粒度,通常处于不同的抽象级别。类似地,msa中的测试粒度反映在不同的测试类型中。然而,当将微服务的不同抽象级别的测试组合在一起时,概念化整个测试体系结构是很有挑战性的。在这样的微服务实现中,没有关于整体测试架构的经验证据。此外,需要从经验上理解实践的当前状态如何与现有的测试最佳实践产生共鸣。在本研究中,我们挖掘Github以找到不同的候选项目,以便对其测试工件进行深入的定性评估。我们分析了16个使用微服务并包含各种测试工件的存储库。我们专注于四个使用消费者驱动契约测试的项目。我们的结果展示了这些项目是如何覆盖不同级别的测试的。本研究(i)起草了一个包括活动和工件的测试架构,并且(ii)演示了这些如何与最佳实践和指导方针相结合。我们提出的架构有助于在微服务的实证研究中对系统和测试工件进行分类。最后,我们展示了使用微服务的系统中不同级别测试之间的边界。
{"title":"An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract Testing","authors":"Hamdy Michael Ayas, Hartmut Fischer, P. Leitner, F. D. O. Neto","doi":"10.1109/SEAA56994.2022.00022","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00022","url":null,"abstract":"Testing has a prominent role in revealing faults in software based on microservices. One of the most important discussion points in MSAs is the granularity of services, often in different levels of abstraction. Similarly, the granularity of tests in MSAs is reflected in different test types. However, it is challenging to conceptualize how the overall testing architecture comes together when combining testing in different levels of abstraction for microservices. There is no empirical evidence on the overall testing architecture in such microservices implementations. Furthermore, there is a need to empirically understand how the current state of practice resonates with existing best practices on testing. In this study, we mine Github to find different candidate projects for an in-depth, qualitative assessment of their test artifacts. We analyze 16 repositories that use microservices and include various test artifacts. We focus on four projects that use consumer-driven-contract testing. Our results demonstrate how these projects cover different levels of testing. This study (i) drafts a testing architecture including activities and artifacts, and (ii) demonstrates how these align with best practices and guidelines. Our proposed architecture helps the categorization of system and test artifacts in empirical studies of microservices. Finally, we showcase a view of the boundaries between different levels of testing in systems using microservices.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115786917","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
An Industrial Experience Report about Challenges from Continuous Monitoring, Improvement, and Deployment for Autonomous Driving Features 一份关于自动驾驶功能持续监控、改进和部署所面临挑战的行业经验报告
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00063
A. Nouri, C. Berger, Fredrik Törner
Using continuous development, deployment, and monitoring (CDDM) to understand and improve applications in a customer’s context is widely used for non-safety applications such as smartphone apps or web applications to enable rapid and innovative feature improvements. Having demonstrated its potential in such domains, it may have the potential to also improve the software development for automotive functions as some OEMs described on a high level in their financial company communiqués. However, the application of a CDDM strategy also faces challenges from a process adherence and documentation perspective as required by safety-related products such as autonomous driving systems (ADS) and guided by industry standards such as ISO-26262 [1] and ISO21448 [2]. There are publications on CDDM in safety-relevant contexts that focus on safety-critical functions on a rather generic level and thus, not specifically ADS or automotive, or that are concentrating only on software and hence, missing out the particular context of an automotive OEM: Well-established legacy processes and the need of their adaptations, and aspects originating from the role of being a system integrator for software/software, hardware/hardware, and hardware/software. In this paper, particular challenges from the automotive domain to better adopt CDDM are identified and discussed to shed light on research gaps to enhance CDDM, especially for the software development of safe ADS. The challenges are identified from today’s industrial well-established ways of working by conducting interviews with domain experts and complemented by a literature study.
使用持续开发、部署和监控(CDDM)来了解和改进客户环境中的应用程序被广泛用于非安全应用程序,如智能手机应用程序或web应用程序,以实现快速和创新的功能改进。在展示了它在这些领域的潜力之后,它可能也有潜力改进汽车功能的软件开发,正如一些原始设备制造商在其金融公司公报中所描述的那样。然而,CDDM策略的应用也面临着过程依从性和文档化方面的挑战,这是自动驾驶系统(ADS)等安全相关产品所要求的,并受到ISO-26262[1]和ISO21448[2]等行业标准的指导。在与安全相关的环境中,有一些关于CDDM的出版物,它们在相当通用的层面上关注安全关键功能,因此,不是专门针对ADS或汽车,或者只关注软件,因此,错过了汽车OEM的特定环境:完善的遗留流程和它们的适应需求,以及源自软件/软件、硬件/硬件和硬件/软件系统集成商角色的方面。本文确定并讨论了汽车领域为更好地采用CDDM所面临的特殊挑战,以阐明加强CDDM的研究差距,特别是对于安全ADS的软件开发。通过与领域专家进行访谈并辅以文献研究,从当今工业成熟的工作方式中确定了挑战。
{"title":"An Industrial Experience Report about Challenges from Continuous Monitoring, Improvement, and Deployment for Autonomous Driving Features","authors":"A. Nouri, C. Berger, Fredrik Törner","doi":"10.1109/SEAA56994.2022.00063","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00063","url":null,"abstract":"Using continuous development, deployment, and monitoring (CDDM) to understand and improve applications in a customer’s context is widely used for non-safety applications such as smartphone apps or web applications to enable rapid and innovative feature improvements. Having demonstrated its potential in such domains, it may have the potential to also improve the software development for automotive functions as some OEMs described on a high level in their financial company communiqués. However, the application of a CDDM strategy also faces challenges from a process adherence and documentation perspective as required by safety-related products such as autonomous driving systems (ADS) and guided by industry standards such as ISO-26262 [1] and ISO21448 [2]. There are publications on CDDM in safety-relevant contexts that focus on safety-critical functions on a rather generic level and thus, not specifically ADS or automotive, or that are concentrating only on software and hence, missing out the particular context of an automotive OEM: Well-established legacy processes and the need of their adaptations, and aspects originating from the role of being a system integrator for software/software, hardware/hardware, and hardware/software. In this paper, particular challenges from the automotive domain to better adopt CDDM are identified and discussed to shed light on research gaps to enhance CDDM, especially for the software development of safe ADS. The challenges are identified from today’s industrial well-established ways of working by conducting interviews with domain experts and complemented by a literature study.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115919156","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
Service Classification through Machine Learning: Aiding in the Efficient Identification of Reusable Assets in Cloud Application Development 通过机器学习进行服务分类:帮助在云应用程序开发中有效识别可重用资产
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00046
Z. Alizadehsani, Daniel Feitosa, Theodoros Maikantis, Apostolos Ampatzoglou, A. Chatzigeorgiou, David Berrocal-Macías, Alfonso González-Briones, J. Corchado, Márcio Mateus, Johannes Groenewold
Developing software based on services is one of the most emerging programming paradigms in software development. Service-based software development relies on the composition of services (i.e., pieces of code already built and deployed in the cloud) through orchestrated API calls. Black-box reuse can play a prominent role when using this programming paradigm, in the sense that identifying and reusing already existing/deployed services can save substantial development effort. According to the literature, identifying reusable assets (i.e., components, classes, or services) is more successful and efficient when the discovery process is domain-specific. To facilitate domain-specific service discovery, we propose a service classification approach that can categorize services to an application domain, given only the service description. To validate the accuracy of our classification approach, we have trained a machine-learning model on thousands of open-source services and tested it on 67 services developed within two companies employing service-based software development. The study results suggest that the classification algorithm can perform adequately in a test set that does not overlap with the training set; thus, being (with some confidence) transferable to other industrial cases. Additionally, we expand the body of knowledge on software categorization by highlighting sets of domains that consist ‘grey-zones’ in service classification.
基于服务开发软件是软件开发中最新兴的编程范式之一。基于服务的软件开发依赖于通过编排API调用的服务组合(即,已经构建并部署在云中的代码片段)。在使用这种编程范例时,黑盒重用可以发挥重要作用,因为识别和重用已经存在/部署的服务可以节省大量的开发工作。根据文献,当发现过程特定于领域时,识别可重用资产(即组件、类或服务)更加成功和有效。为了促进特定于领域的服务发现,我们提出了一种服务分类方法,该方法可以仅给定服务描述就对应用程序领域的服务进行分类。为了验证我们的分类方法的准确性,我们在数千个开源服务上训练了一个机器学习模型,并在使用基于服务的软件开发的两家公司开发的67个服务上进行了测试。研究结果表明,该分类算法在不与训练集重叠的测试集上表现良好;因此,(有一些信心)可以转移到其他工业案例中。此外,我们通过突出显示服务分类中包含“灰色地带”的领域集,扩展了软件分类的知识体系。
{"title":"Service Classification through Machine Learning: Aiding in the Efficient Identification of Reusable Assets in Cloud Application Development","authors":"Z. Alizadehsani, Daniel Feitosa, Theodoros Maikantis, Apostolos Ampatzoglou, A. Chatzigeorgiou, David Berrocal-Macías, Alfonso González-Briones, J. Corchado, Márcio Mateus, Johannes Groenewold","doi":"10.1109/SEAA56994.2022.00046","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00046","url":null,"abstract":"Developing software based on services is one of the most emerging programming paradigms in software development. Service-based software development relies on the composition of services (i.e., pieces of code already built and deployed in the cloud) through orchestrated API calls. Black-box reuse can play a prominent role when using this programming paradigm, in the sense that identifying and reusing already existing/deployed services can save substantial development effort. According to the literature, identifying reusable assets (i.e., components, classes, or services) is more successful and efficient when the discovery process is domain-specific. To facilitate domain-specific service discovery, we propose a service classification approach that can categorize services to an application domain, given only the service description. To validate the accuracy of our classification approach, we have trained a machine-learning model on thousands of open-source services and tested it on 67 services developed within two companies employing service-based software development. The study results suggest that the classification algorithm can perform adequately in a test set that does not overlap with the training set; thus, being (with some confidence) transferable to other industrial cases. Additionally, we expand the body of knowledge on software categorization by highlighting sets of domains that consist ‘grey-zones’ in service classification.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"299 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114328479","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
A Systematic Mapping Study on Robotic Testing of Mobile Devices 移动设备机器人测试的系统映射研究
Pub Date : 2022-08-01 DOI: 10.1109/SEAA56994.2022.00079
Lucas Maciel, Alice Oliveira, Riei Rodrigues, Williams Santiago, A. Silva, Gustavo Carvalho, Breno Miranda
Context: Test automation is often seen as a possible solution to overcome the challenges of testing mobile devices. However, most of the automation techniques adopted for mobile testing are intrusive and, sometimes, unrealistic. One possible solution for coping with intrusive and unrealistic testing is the use of robots. Despite the growing interest in the intersection between robotics and software testing, the motivations, the usefulness, and the return of investment of adopting robots for supporting testing activities are not clear. Objective: We aim at surveying the literature on the use of robotics for supporting mobile testing with a focus on the motivations, the types of tests that are automated, and the reported effectiveness/efficiency. Method: We conduct a systematic mapping study on robotic testing of mobile devices (hereafter, referred as robotic mobile testing). We searched primary studies published since 2000 by querying five digital libraries, and by performing backward and forward snowballing cycles. Results: We started with a set of 1353 papers and after applying our study protocol, we selected a final set of 20 primary studies. We provide both a quantitative analysis, and a qualitative evaluation of the motivations, types of tests automated and the effectiveness/efficiency reported by the selected studies. Conclusions: Based on the selected studies, allowing more realistic interactions is among the main motivations for adopting robotic mobile testing. The tests automated with the support of robots are usually system-level tests targeting stress, interface, and performance testing. More empirical evidence is needed for supporting the claimed benefits. Most of the surveyed work do not compare the effectiveness and efficiency of the proposed robotics-based approach against traditional automation techniques. We discuss the implications of our findings for researchers and practitioners, and outline a research agenda.
上下文:测试自动化通常被视为克服测试移动设备挑战的可能解决方案。然而,大多数用于移动测试的自动化技术是侵入性的,有时是不现实的。应对侵入性和不现实测试的一个可能解决方案是使用机器人。尽管人们对机器人技术和软件测试之间的交叉越来越感兴趣,但是采用机器人来支持测试活动的动机、有用性和投资回报还不清楚。目的:我们的目标是调查关于使用机器人技术支持移动测试的文献,重点关注动机,自动化测试的类型,以及报告的有效性/效率。方法:对移动设备机器人测试(以下简称机器人移动测试)进行系统的测绘研究。我们检索了自2000年以来发表的主要研究,查询了5个数字图书馆,并进行了向后和向前滚雪球循环。结果:我们从一组1353篇论文开始,在应用我们的研究方案后,我们选择了最后一组20篇主要研究。我们对所选研究报告的动机、自动化测试类型和有效性/效率提供了定量分析和定性评估。结论:根据所选的研究,允许更真实的交互是采用机器人移动测试的主要动机之一。在机器人的支持下自动化的测试通常是针对压力、接口和性能测试的系统级测试。需要更多的经验证据来支持所声称的好处。大多数被调查的工作没有比较提出的基于机器人的方法与传统自动化技术的有效性和效率。我们讨论了我们的发现对研究人员和从业者的影响,并概述了研究议程。
{"title":"A Systematic Mapping Study on Robotic Testing of Mobile Devices","authors":"Lucas Maciel, Alice Oliveira, Riei Rodrigues, Williams Santiago, A. Silva, Gustavo Carvalho, Breno Miranda","doi":"10.1109/SEAA56994.2022.00079","DOIUrl":"https://doi.org/10.1109/SEAA56994.2022.00079","url":null,"abstract":"Context: Test automation is often seen as a possible solution to overcome the challenges of testing mobile devices. However, most of the automation techniques adopted for mobile testing are intrusive and, sometimes, unrealistic. One possible solution for coping with intrusive and unrealistic testing is the use of robots. Despite the growing interest in the intersection between robotics and software testing, the motivations, the usefulness, and the return of investment of adopting robots for supporting testing activities are not clear. Objective: We aim at surveying the literature on the use of robotics for supporting mobile testing with a focus on the motivations, the types of tests that are automated, and the reported effectiveness/efficiency. Method: We conduct a systematic mapping study on robotic testing of mobile devices (hereafter, referred as robotic mobile testing). We searched primary studies published since 2000 by querying five digital libraries, and by performing backward and forward snowballing cycles. Results: We started with a set of 1353 papers and after applying our study protocol, we selected a final set of 20 primary studies. We provide both a quantitative analysis, and a qualitative evaluation of the motivations, types of tests automated and the effectiveness/efficiency reported by the selected studies. Conclusions: Based on the selected studies, allowing more realistic interactions is among the main motivations for adopting robotic mobile testing. The tests automated with the support of robots are usually system-level tests targeting stress, interface, and performance testing. More empirical evidence is needed for supporting the claimed benefits. Most of the surveyed work do not compare the effectiveness and efficiency of the proposed robotics-based approach against traditional automation techniques. We discuss the implications of our findings for researchers and practitioners, and outline a research agenda.","PeriodicalId":269970,"journal":{"name":"2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123208227","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
期刊
2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
全部 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