首页 > 最新文献

Automated Software Engineering最新文献

英文 中文
Coevolutionary scheduling of dynamic software project considering the new skill learning 考虑新技能学习的动态软件项目协同进化调度
IF 2 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-01-19 DOI: 10.1007/s10515-023-00411-y
Xiaoning Shen, Chengbin Yao, Liyan Song, Jiyong Xu, Mingjian Mao

In the process of software project development, completing tasks may require new skills that employees have not yet mastered due to factors such as requirement changes. However, existing studies on software project scheduling usually overlook such new skill demands. This paper designs the learning mechanism targeting the treatment of new skills for project employees, including how to select appropriate employees to learn new skills, the growth curves of new skill proficiencies and the adaptive dedication changes for the selected employees. Three common dynamic events are considered to establish a mathematical model for the dynamic software project scheduling problem considering the new skill learning. To solve the model, a multi-population coevolutionary algorithm-based predictive-reactive scheduling method is proposed in this paper. Three novel strategies are incorporated, which include a response mechanism to environmental changes, a population grouping strategy based on dual indicators, and a dynamic allocation of subpopulation size according to the variation trend of contribution. Systematic experimental results based on ten synthetic instances and three real-world instances show that when dynamic events occur, the proposed algorithm can quickly reschedule the tasks with a better duration, cost and stability compared with six state-of-the-art algorithms, helping project manager make a more informed decision.

在软件项目开发过程中,由于需求变化等因素,完成任务可能需要员工尚未掌握的新技能。然而,现有的软件项目调度研究通常会忽略这种新技能需求。本文设计了针对项目员工新技能处理的学习机制,包括如何选择合适的员工学习新技能、新技能熟练程度的增长曲线以及所选员工的适应性奉献变化。考虑了三种常见的动态事件,建立了考虑新技能学习的动态软件项目调度问题数学模型。为了解决该模型,本文提出了一种基于多群体协同进化算法的预测-反应调度方法。其中包括对环境变化的响应机制、基于双指标的种群分组策略以及根据贡献率变化趋势动态分配子种群规模的三种新策略。基于 10 个合成实例和 3 个实际实例的系统实验结果表明,当动态事件发生时,与 6 种最先进的算法相比,本文提出的算法可以快速重新安排任务,且工期、成本和稳定性都更好,从而帮助项目经理做出更明智的决策。
{"title":"Coevolutionary scheduling of dynamic software project considering the new skill learning","authors":"Xiaoning Shen,&nbsp;Chengbin Yao,&nbsp;Liyan Song,&nbsp;Jiyong Xu,&nbsp;Mingjian Mao","doi":"10.1007/s10515-023-00411-y","DOIUrl":"10.1007/s10515-023-00411-y","url":null,"abstract":"<div><p>In the process of software project development, completing tasks may require new skills that employees have not yet mastered due to factors such as requirement changes. However, existing studies on software project scheduling usually overlook such new skill demands. This paper designs the learning mechanism targeting the treatment of new skills for project employees, including how to select appropriate employees to learn new skills, the growth curves of new skill proficiencies and the adaptive dedication changes for the selected employees. Three common dynamic events are considered to establish a mathematical model for the dynamic software project scheduling problem considering the new skill learning. To solve the model, a multi-population coevolutionary algorithm-based predictive-reactive scheduling method is proposed in this paper. Three novel strategies are incorporated, which include a response mechanism to environmental changes, a population grouping strategy based on dual indicators, and a dynamic allocation of subpopulation size according to the variation trend of contribution. Systematic experimental results based on ten synthetic instances and three real-world instances show that when dynamic events occur, the proposed algorithm can quickly reschedule the tasks with a better duration, cost and stability compared with six state-of-the-art algorithms, helping project manager make a more informed decision.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-01-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139509199","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Can AI serve as a substitute for human subjects in software engineering research? 在软件工程研究中,人工智能能否替代人类研究对象?
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-01-11 DOI: 10.1007/s10515-023-00409-6
Marco Gerosa, Bianca Trinkenreich, Igor Steinmacher, Anita Sarma

Research within sociotechnical domains, such as software engineering, fundamentally requires the human perspective. Nevertheless, traditional qualitative data collection methods suffer from difficulties in participant recruitment, scaling, and labor intensity. This vision paper proposes a novel approach to qualitative data collection in software engineering research by harnessing the capabilities of artificial intelligence (AI), especially large language models (LLMs) like ChatGPT and multimodal foundation models. We explore the potential of AI-generated synthetic text as an alternative source of qualitative data, discussing how LLMs can replicate human responses and behaviors in research settings. We discuss AI applications in emulating humans in interviews, focus groups, surveys, observational studies, and user evaluations. We discuss open problems and research opportunities to implement this vision. In the future, an integrated approach where both AI and human-generated data coexist will likely yield the most effective outcomes.

社会技术领域(如软件工程)的研究从根本上讲需要人类视角。然而,传统的定性数据收集方法在参与者招募、规模化和劳动强度等方面都存在困难。本愿景论文提出了一种在软件工程研究中收集定性数据的新方法,即利用人工智能(AI)的能力,尤其是大型语言模型(LLM),如 ChatGPT 和多模态基础模型。我们探讨了人工智能生成的合成文本作为定性数据替代来源的潜力,讨论了 LLM 如何在研究环境中复制人类的反应和行为。我们讨论了人工智能在访谈、焦点小组、调查、观察研究和用户评估中模拟人类的应用。我们还讨论了实现这一愿景所面临的问题和研究机会。未来,人工智能与人类生成的数据共存的综合方法将可能产生最有效的成果。
{"title":"Can AI serve as a substitute for human subjects in software engineering research?","authors":"Marco Gerosa,&nbsp;Bianca Trinkenreich,&nbsp;Igor Steinmacher,&nbsp;Anita Sarma","doi":"10.1007/s10515-023-00409-6","DOIUrl":"10.1007/s10515-023-00409-6","url":null,"abstract":"<div><p>Research within sociotechnical domains, such as software engineering, fundamentally requires the human perspective. Nevertheless, traditional qualitative data collection methods suffer from difficulties in participant recruitment, scaling, and labor intensity. This vision paper proposes a novel approach to qualitative data collection in software engineering research by harnessing the capabilities of artificial intelligence (AI), especially large language models (LLMs) like ChatGPT and multimodal foundation models. We explore the potential of AI-generated synthetic text as an alternative source of qualitative data, discussing how LLMs can replicate human responses and behaviors in research settings. We discuss AI applications in emulating humans in interviews, focus groups, surveys, observational studies, and user evaluations. We discuss open problems and research opportunities to implement this vision. In the future, an integrated approach where both AI and human-generated data coexist will likely yield the most effective outcomes.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2024-01-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139424085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A security framework for mobile agent systems 移动代理系统的安全框架
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-01-09 DOI: 10.1007/s10515-023-00408-7
Donies Samet, Farah Barika Ktata, Khaled Ghedira

Security is a very important challenge in mobile agent systems due to the strong dependence of agents on the platform and vice versa. According to recent studies, most current mobile agent platforms suffer from significant limitations in terms of security when they face Denial of Service (DOS) attacks. Current security solutions even provided by the mobile agent platforms or by the literature focus essentially on individual attacks and are mainly based on static models that present a lack of the permissions definition and are not detailed enough to face collaborative DOS attacks executed by multiple agents or users. This paper presents a security framework that adds security defenses to mobile agent platforms. The proposed security framework implements a standard security model described using MA-UML (Mobile Agent-Unified Modeling Language) notations. The framework lets the administrator (of agents’ place) define a precise and fine-grained authorization policy to defend against DOS attacks. The authorization enforcement in the proposed framework is dynamic : the authorization decisions executed by the proposed framework are based upon run-time parameters like the amount of activity of an agent. We implement an experiment on a mobile agent system of e-marketplaces. Given that we focus essentially on the availability criterion, the performance of the proposed framework on a place is evaluated against DOS and DDOS attacks and investigated in terms of duration of execution that is the availability of the place.

在移动代理系统中,安全性是一个非常重要的挑战,因为代理对平台有很强的依赖性,反之亦然。根据最近的研究,目前大多数移动代理平台在面对拒绝服务(DOS)攻击时,在安全性方面都存在很大的局限性。目前的安全解决方案,即使是由移动代理平台或文献提供的,也主要侧重于单个攻击,而且主要基于静态模型,缺乏权限定义,不够详细,无法应对由多个代理或用户执行的协作式 DOS 攻击。本文提出了一种安全框架,可为移动代理平台增加安全防御功能。所提出的安全框架实现了一个使用 MA-UML(移动代理统一建模语言)符号描述的标准安全模型。该框架允许(代理位置的)管理员定义精确和细粒度的授权策略,以防御 DOS 攻击。拟议框架中的授权执行是动态的:拟议框架根据运行时的参数(如代理的活动量)执行授权决策。我们在电子市场的移动代理系统上进行了实验。鉴于我们主要关注的是可用性标准,我们针对 DOS 和 DDOS 攻击评估了拟议框架在某一地点的性能,并根据执行持续时间(即该地点的可用性)进行了调查。
{"title":"A security framework for mobile agent systems","authors":"Donies Samet,&nbsp;Farah Barika Ktata,&nbsp;Khaled Ghedira","doi":"10.1007/s10515-023-00408-7","DOIUrl":"10.1007/s10515-023-00408-7","url":null,"abstract":"<div><p>Security is a very important challenge in mobile agent systems due to the strong dependence of agents on the platform and vice versa. According to recent studies, most current mobile agent platforms suffer from significant limitations in terms of security when they face Denial of Service (DOS) attacks. Current security solutions even provided by the mobile agent platforms or by the literature focus essentially on individual attacks and are mainly based on static models that present a lack of the permissions definition and are not detailed enough to face collaborative DOS attacks executed by multiple agents or users. This paper presents a security framework that adds security defenses to mobile agent platforms. The proposed security framework implements a standard security model described using MA-UML (Mobile Agent-Unified Modeling Language) notations. The framework lets the administrator (of agents’ place) define a precise and fine-grained authorization policy to defend against DOS attacks. The authorization enforcement in the proposed framework is dynamic : the authorization decisions executed by the proposed framework are based upon run-time parameters like the amount of activity of an agent. We implement an experiment on a mobile agent system of e-marketplaces. Given that we focus essentially on the availability criterion, the performance of the proposed framework on a place is evaluated against DOS and DDOS attacks and investigated in terms of duration of execution that is the availability of the place.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2024-01-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139399877","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Mining crowd sourcing repositories for open innovation in software engineering 挖掘众包资源库,促进软件工程领域的开放式创新
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-01-08 DOI: 10.1007/s10515-023-00410-z
Zeeshan Anwar, Hammad Afzal

Various development tools have been introduced and the choice of suitable development tool depends on the particular context like the type of application to be developed, the development process and application domain, etc. The real challenge is to deliver new features at the right time with a faster development cycle. The selection of suitable development tools will help developers to save time and effort. In this research, we will explore software engineering repositories (like StackOverflow) to collect feedback from developers about development tools. This will explore which features in a development tool are most important, which features are missing, and which features require changes. The answers to these questions can be found by mining the community question-answering sites (CQA). We will use user feedback to innovate the new features in the development tool. Various techniques of Big Data, Data Mining, Deep Learning, and Transformers including Generative Pre-Training Transformer will be used in our research. Some of the major techniques include (i) data collection from CQA sites like StackOverflow, (ii) data preprocessing (iii) categories the data into various topics using topic modeling (iv) sentiment analysis of data to get positive or negative aspects of features (v) ranking of users and their feedback. The output of this research will categorize the users feedback into various ideas, this will help organizations to decide which features are required, which features are not required, which features are difficult or confusing, and which new features should be introduced into a new release.

各种开发工具层出不穷,如何选择合适的开发工具取决于具体情况,如要开发的应用程序类型、开发流程和应用领域等。真正的挑战在于如何以更快的开发周期及时提供新功能。选择合适的开发工具可以帮助开发人员节省时间和精力。在这项研究中,我们将探索软件工程资料库(如 StackOverflow),收集开发人员对开发工具的反馈意见。这将探索开发工具中哪些功能是最重要的,哪些功能是缺失的,哪些功能需要修改。通过挖掘社区问题解答网站(CQA),可以找到这些问题的答案。我们将利用用户反馈来创新开发工具的新功能。我们将在研究中使用大数据、数据挖掘、深度学习和转换器(包括生成式预训练转换器)等各种技术。其中一些主要技术包括:(i) 从 StackOverflow 等 CQA 网站收集数据;(ii) 数据预处理;(iii) 使用主题建模将数据分类为各种主题;(iv) 对数据进行情感分析,以获得功能的积极或消极方面;(v) 对用户及其反馈进行排名。这项研究的成果将把用户反馈归类为各种想法,这将有助于企业决定哪些功能是必需的,哪些功能是不需要的,哪些功能是困难的或容易混淆的,以及哪些新功能应该引入到新版本中。
{"title":"Mining crowd sourcing repositories for open innovation in software engineering","authors":"Zeeshan Anwar,&nbsp;Hammad Afzal","doi":"10.1007/s10515-023-00410-z","DOIUrl":"10.1007/s10515-023-00410-z","url":null,"abstract":"<div><p>Various development tools have been introduced and the choice of suitable development tool depends on the particular context like the type of application to be developed, the development process and application domain, etc. The real challenge is to deliver new features at the right time with a faster development cycle. The selection of suitable development tools will help developers to save time and effort. In this research, we will explore software engineering repositories (like StackOverflow) to collect feedback from developers about development tools. This will explore which features in a development tool are most important, which features are missing, and which features require changes. The answers to these questions can be found by mining the community question-answering sites (CQA). We will use user feedback to innovate the new features in the development tool. Various techniques of Big Data, Data Mining, Deep Learning, and Transformers including Generative Pre-Training Transformer will be used in our research. Some of the major techniques include (i) data collection from CQA sites like StackOverflow, (ii) data preprocessing (iii) categories the data into various topics using topic modeling (iv) sentiment analysis of data to get positive or negative aspects of features (v) ranking of users and their feedback. The output of this research will categorize the users feedback into various ideas, this will help organizations to decide which features are required, which features are not required, which features are difficult or confusing, and which new features should be introduced into a new release.\u0000</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2024-01-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139399897","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Correction to: A class integration test order generation approach based on Sarsa algorithm 更正为基于 Sarsa 算法的类集成测试顺序生成方法
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2024-01-02 DOI: 10.1007/s10515-023-00412-x
Yun Li, Yanmei Zhang, Yanru Ding, Shujuan Jiang, Guan Yuan
{"title":"Correction to: A class integration test order generation approach based on Sarsa algorithm","authors":"Yun Li,&nbsp;Yanmei Zhang,&nbsp;Yanru Ding,&nbsp;Shujuan Jiang,&nbsp;Guan Yuan","doi":"10.1007/s10515-023-00412-x","DOIUrl":"10.1007/s10515-023-00412-x","url":null,"abstract":"","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2024-01-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139081477","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Regression test selection in test-driven development 测试驱动开发中的回归测试选择
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-27 DOI: 10.1007/s10515-023-00405-w
Zohreh Mafi, Seyed-Hassan Mirian-Hosseinabadi

The large number of unit tests produced in the test-driven development (TDD) method and the iterative execution of these tests extend the regression test execution time in TDD. This study aims to reduce test execution time in TDD. We propose a TDD-based approach that creates traceable code elements and connects them to relevant test cases to support regression test selection during the TDD process. Our proposed hybrid technique combines text and syntax program differences to select related test cases using the nature of TDD. We use a change detection algorithm to detect program changes. Our experience is reported with a tool called RichTest, which implements this technique. In order to evaluate our work, seven TDD projects have been developed. The implementation results indicate that the RichTest plugin significantly decreases the number of test executions and also the time of regression testing despite considering the overhead time. The test suite effectively enables fault detection because the selected test cases are related to the modified partitions. Moreover, the test cases cover the entire modified partitions; accordingly, the selection algorithm is safe. The concept is particularly designed for the TDD method. Although this idea is applicable in any programming language, it is already implemented as a plugin in Java Eclipse.

测试驱动开发(TDD)方法中产生的大量单元测试以及这些测试的迭代执行延长了 TDD 中回归测试的执行时间。本研究旨在缩短 TDD 中的测试执行时间。我们提出了一种基于 TDD 的方法,该方法可创建可跟踪的代码元素,并将它们与相关测试用例连接起来,以支持在 TDD 过程中选择回归测试。我们提出的混合技术结合了文本和语法程序差异,利用 TDD 的特性选择相关测试用例。我们使用变更检测算法来检测程序变更。我们报告了使用名为 RichTest 的工具的经验,该工具实现了这一技术。为了评估我们的工作,我们开发了七个 TDD 项目。实施结果表明,尽管考虑到开销时间,RichTest 插件还是显著减少了测试执行次数和回归测试时间。由于所选测试用例与修改后的分区相关,因此测试套件能有效地进行故障检测。此外,测试用例覆盖了整个修改后的分区;因此,选择算法是安全的。这一概念特别针对 TDD 方法而设计。虽然这一理念适用于任何编程语言,但它已作为 Java Eclipse 的一个插件得以实现。
{"title":"Regression test selection in test-driven development","authors":"Zohreh Mafi,&nbsp;Seyed-Hassan Mirian-Hosseinabadi","doi":"10.1007/s10515-023-00405-w","DOIUrl":"10.1007/s10515-023-00405-w","url":null,"abstract":"<div><p>The large number of unit tests produced in the test-driven development (TDD) method and the iterative execution of these tests extend the regression test execution time in TDD. This study aims to reduce test execution time in TDD. We propose a TDD-based approach that creates traceable code elements and connects them to relevant test cases to support regression test selection during the TDD process. Our proposed hybrid technique combines text and syntax program differences to select related test cases using the nature of TDD. We use a change detection algorithm to detect program changes. Our experience is reported with a tool called RichTest, which implements this technique. In order to evaluate our work, seven TDD projects have been developed. The implementation results indicate that the RichTest plugin significantly decreases the number of test executions and also the time of regression testing despite considering the overhead time. The test suite effectively enables fault detection because the selected test cases are related to the modified partitions. Moreover, the test cases cover the entire modified partitions; accordingly, the selection algorithm is safe. The concept is particularly designed for the TDD method. Although this idea is applicable in any programming language, it is already implemented as a plugin in Java Eclipse.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2023-12-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139069288","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Large language models for qualitative research in software engineering: exploring opportunities and challenges 用于软件工程定性研究的大型语言模型:探索机遇与挑战
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-21 DOI: 10.1007/s10515-023-00407-8
Muneera Bano, Rashina Hoda, Didar Zowghi, Christoph Treude

The recent surge in the integration of Large Language Models (LLMs) like ChatGPT into qualitative research in software engineering, much like in other professional domains, demands a closer inspection. This vision paper seeks to explore the opportunities of using LLMs in qualitative research to address many of its legacy challenges as well as potential new concerns and pitfalls arising from the use of LLMs. We share our vision for the evolving role of the qualitative researcher in the age of LLMs and contemplate how they may utilize LLMs at various stages of their research experience.

最近,像 ChatGPT 这样的大型语言模型(LLMs)在软件工程定性研究中的应用激增,就像在其他专业领域一样,这需要我们进行更仔细的研究。本愿景论文旨在探索在定性研究中使用 LLMs 的机遇,以解决许多遗留的挑战,以及使用 LLMs 可能带来的新问题和隐患。我们分享了我们对定性研究人员在法学硕士时代不断演变的角色的愿景,并思考了他们如何在研究经历的各个阶段利用法学硕士。
{"title":"Large language models for qualitative research in software engineering: exploring opportunities and challenges","authors":"Muneera Bano,&nbsp;Rashina Hoda,&nbsp;Didar Zowghi,&nbsp;Christoph Treude","doi":"10.1007/s10515-023-00407-8","DOIUrl":"10.1007/s10515-023-00407-8","url":null,"abstract":"<div><p>The recent surge in the integration of Large Language Models (LLMs) like ChatGPT into qualitative research in software engineering, much like in other professional domains, demands a closer inspection. This vision paper seeks to explore the opportunities of using LLMs in qualitative research to address many of its legacy challenges as well as potential new concerns and pitfalls arising from the use of LLMs. We share our vision for the evolving role of the qualitative researcher in the age of LLMs and contemplate how they may utilize LLMs at various stages of their research experience.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2023-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138949097","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A class integration test order generation approach based on Sarsa algorithm 基于 Sarsa 算法的类集成测试顺序生成方法
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-13 DOI: 10.1007/s10515-023-00406-9
Yun Li, Yanmei Zhang, Yanru Ding, Shujuan Jiang, Guan Yuan

Class integration test order generation is a key step in integration testing, researching this problem can help find unknown bugs and improve the efficiency of software testing. The challenge of this problem is ordering the classes to be integrated to minimize the cost of required stubs. However, the existing approaches of generating class integration test orders cannot satisfy this requirement well. Considering the excellent performance of reinforcement learning in sequence decision problems, this paper proposes a class integration test order generation approach based on Sarsa algorithm, which is a data-driven model-free reinforcement learning algorithm. This approach takes the stubbing complexity as the indicator to evaluate the stubbing cost and uses it to measure the quality of a class integration test order. The Sarsa algorithm is used to train the agent, and three indicators such as test return, dependency complexity, and the number of cycles are integrated into the design of the reward function to evaluate the merits of the current action. By recording an action path of the agent from its initial state to its termination state, a class integration test order can be obtained. The experimental results on 10 systems show that the class integration test order generation approach based on Sarsa algorithm can generate the class integration test orders with lower stubbing cost.

类集成测试顺序生成是集成测试的一个关键步骤,研究这个问题有助于发现未知错误,提高软件测试的效率。这个问题的难点在于对要集成的类进行排序,以尽量减少所需的存根成本。然而,现有的生成类集成测试顺序的方法不能很好地满足这一要求。考虑到强化学习在序列决策问题中的优异表现,本文提出了一种基于 Sarsa 算法的类集成测试顺序生成方法,该算法是一种数据驱动的无模型强化学习算法。该方法将存根复杂度作为评估存根成本的指标,并用它来衡量类整合测试顺序的质量。使用 Sarsa 算法训练代理,并将测试回报、依赖复杂度和循环次数等三个指标整合到奖励函数的设计中,以评估当前行动的优劣。通过记录代理从初始状态到终止状态的行动路径,可以得到类集成测试顺序。在 10 个系统上的实验结果表明,基于 Sarsa 算法的类集成测试顺序生成方法能以较低的存根成本生成类集成测试顺序。
{"title":"A class integration test order generation approach based on Sarsa algorithm","authors":"Yun Li,&nbsp;Yanmei Zhang,&nbsp;Yanru Ding,&nbsp;Shujuan Jiang,&nbsp;Guan Yuan","doi":"10.1007/s10515-023-00406-9","DOIUrl":"10.1007/s10515-023-00406-9","url":null,"abstract":"<div><p>Class integration test order generation is a key step in integration testing, researching this problem can help find unknown bugs and improve the efficiency of software testing. The challenge of this problem is ordering the classes to be integrated to minimize the cost of required stubs. However, the existing approaches of generating class integration test orders cannot satisfy this requirement well. Considering the excellent performance of reinforcement learning in sequence decision problems, this paper proposes a class integration test order generation approach based on Sarsa algorithm, which is a data-driven model-free reinforcement learning algorithm. This approach takes the stubbing complexity as the indicator to evaluate the stubbing cost and uses it to measure the quality of a class integration test order. The Sarsa algorithm is used to train the agent, and three indicators such as test return, dependency complexity, and the number of cycles are integrated into the design of the reward function to evaluate the merits of the current action. By recording an action path of the agent from its initial state to its termination state, a class integration test order can be obtained. The experimental results on 10 systems show that the class integration test order generation approach based on Sarsa algorithm can generate the class integration test orders with lower stubbing cost.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2023-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138581507","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Enhancing embedded systems development with TS(^-) 使用TS增强嵌入式系统开发 $$^-$$
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-12-06 DOI: 10.1007/s10515-023-00404-x
Xingzi Yu, Wei Tang, Tianlei Xiong, Wengang Chen, Jie He, Bin Yang, Zhengwei Qi

The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS(^-), which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS(^-) not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents Ts2Wasm, a prototype that implements TS(^-) and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that Ts2Wasm provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance, Ts2Wasm offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases.

长期以来,C语言开发缺乏灵活性和安全性一直受到批评,对嵌入式系统领域的开发周期和软件质量造成了不利影响。TypeScript作为一种可选类型的动态语言,提供了开发人员所期望的灵活性和安全性。随着TypeScript和JavaScript的AOT (Ahead-of-Time)编译技术的进步,使用TypeScript编写嵌入式应用已经成为可能。尽管可以用TypeScript编写AOT编译程序,但是实现一个编译器工具链还是需要付出很大的努力。为了简化语言和编译器的设计,本文提出了一种新的编译器工具链设计方法TS (^-),它提倡从TypeScript生成目标中间语言代码(如C语言),而不是在中间语言之上构建更高级的编译器工具和类型系统。TS (^-)不仅简化了系统的设计,还为开发人员提供了一种准原生的TypeScript开发体验。本文还介绍了Ts2Wasm,一个实现TS (^-)的原型,并允许将TypeScript的语言子集编译为WebAssembly (WASM)。TypeScript存储库中的测试显示,Ts2Wasm提供的特性是中间语言(AssemblyScript)的3.8倍。在性能方面,Ts2Wasm提供了1.4到19倍的显著加速。同时,它对65岁以上的人征税% less memory overhead compared to Node.js in most cases.
{"title":"Enhancing embedded systems development with TS(^-)","authors":"Xingzi Yu,&nbsp;Wei Tang,&nbsp;Tianlei Xiong,&nbsp;Wengang Chen,&nbsp;Jie He,&nbsp;Bin Yang,&nbsp;Zhengwei Qi","doi":"10.1007/s10515-023-00404-x","DOIUrl":"10.1007/s10515-023-00404-x","url":null,"abstract":"<div><p>The lack of flexibility and safety in C language development has been criticized for a long time, causing detriments to the development cycle and software quality in the embedded systems domain. TypeScript, as an optionally-typed dynamic language, offers the flexibility and safety that developers desire. With the advancement of Ahead-of-Time (AOT) compilation technologies for TypeScript and JavaScript, it has become feasible to write embedded applications using TypeScript. Despite the availability of writing AOT compiled programs with TypeScript, implementing a compiler toolchain for this purpose requires substantial effort. To simplify the design of languages and compilers, this paper presents a new compiler toolchain design methodology called TS<span>(^-)</span>, which advocates the generation of target intermediate language code (such as C) from TypeScript rather than the construction of higher-level compiler tools and type systems on top of the intermediate language. TS<span>(^-)</span> not only simplifies the design of the system but also provides developers with a quasi-native TypeScript development experience. This paper also presents <span>Ts2Wasm</span>, a prototype that implements TS<span>(^-)</span> and allows compiling a language subset of TypeScript to WebAssembly (WASM). The tests in the TypeScript repository show that <span>Ts2Wasm</span> provides 3.8× as many features compared to the intermediate language (AssemblyScript). Regarding performance, <span>Ts2Wasm</span> offers a significant speed-up of 1.4× to 19×. Meanwhile, it imposes over 65% less memory overhead compared to Node.js in most cases.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2023-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138507038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Α tool for requirements engineering using ontologies and boilerplates Α使用本体和样板进行需求工程的工具
IF 3.4 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2023-11-21 DOI: 10.1007/s10515-023-00403-y
Christina Antοniou, Nick Bassiliades

The most popular technique for specification requirements is natural language. The disadvantage of natural language is ambiguity. Boilerplates are syntactic patterns which limit the ambiguity problem associated with using natural language to specify system/software requirements. Also, using boilerplates is considered a useful tool for inexperienced engineers to define requirements. Using linguistic boilerplates, constrains the natural language syntactically. Furthermore, a domain-specific ontology is used to constrain requirements semantically, as well. In requirements specification, using ontologies helps to restrict the vocabulary to entities, properties, and property relationships which are semantically related. The above results in avoiding or making fewer mistakes. This work makes use of the combination of boilerplate and ontology. Usually, the attributes of boilerplates are completed with the help of the ontology. The contribution of this paper is that the whole boilerplates is stored in the ontology and attributes and fixed elements are part of the ontology. This combination helps to correct semantically and syntactically requirement construction. This paper proposes a tool based on a domain-specific ontology and a set of predefined generic linguistic boilerplates for requirements engineering. We create a domain-specific ontology and a minimal set of boilerplates for an ATM (Automated Teller Machine). We carried out an experiment in order to obtain evidence for the effectiveness and efficiency of our method. The experiment took the form of a case study for the ATM domain and our proposed method was evaluated by users. The contribution and novelty of our methodology is that we created a tool for defining requirements that integrates boilerplate templates and an ontology. We exploit the boilerplate language syntax, mapping them to Resource Description Framework triples which have also a linguistic nature.

规范需求最流行的技术是自然语言。自然语言的缺点是模棱两可。样板是一种语法模式,它限制了与使用自然语言指定系统/软件需求相关的歧义问题。此外,对于没有经验的工程师来说,使用样板被认为是定义需求的有用工具。使用语言模板,在语法上限制了自然语言。此外,还使用特定于领域的本体在语义上约束需求。在需求规范中,使用本体有助于将词汇表限制为语义相关的实体、属性和属性关系。以上的结果是避免或少犯错误。这项工作利用了样板和本体的结合。通常,模板的属性是借助本体来完成的。本文的贡献在于将整个样板存储在本体中,属性和固定元素是本体的组成部分。这种组合有助于纠正语义和语法上的需求构造。本文提出了一种基于特定领域本体和一组预定义的通用语言模板的需求工程工具。我们为ATM(自动柜员机)创建了一个特定于领域的本体和一组最小的样板。为了证明该方法的有效性和高效性,我们进行了实验。实验以ATM领域的案例研究形式进行,我们提出的方法得到了用户的评价。我们的方法的贡献和新颖之处在于,我们创建了一个工具来定义集成了样板模板和本体的需求。我们利用样板语言语法,将它们映射到同样具有语言性质的资源描述框架三元组。
{"title":"Α tool for requirements engineering using ontologies and boilerplates","authors":"Christina Antοniou,&nbsp;Nick Bassiliades","doi":"10.1007/s10515-023-00403-y","DOIUrl":"10.1007/s10515-023-00403-y","url":null,"abstract":"<div><p>The most popular technique for specification requirements is natural language. The disadvantage of natural language is ambiguity. Boilerplates are syntactic patterns which limit the ambiguity problem associated with using natural language to specify system/software requirements. Also, using boilerplates is considered a useful tool for inexperienced engineers to define requirements. Using linguistic boilerplates, constrains the natural language syntactically. Furthermore, a domain-specific ontology is used to constrain requirements semantically, as well. In requirements specification, using ontologies helps to restrict the vocabulary to entities, properties, and property relationships which are semantically related. The above results in avoiding or making fewer mistakes. This work makes use of the combination of boilerplate and ontology. Usually, the attributes of boilerplates are completed with the help of the ontology. The contribution of this paper is that the whole boilerplates is stored in the ontology and attributes and fixed elements are part of the ontology. This combination helps to correct semantically and syntactically requirement construction. This paper proposes a tool based on a domain-specific ontology and a set of predefined generic linguistic boilerplates for requirements engineering. We create a domain-specific ontology and a minimal set of boilerplates for an ATM (Automated Teller Machine). We carried out an experiment in order to obtain evidence for the effectiveness and efficiency of our method. The experiment took the form of a case study for the ATM domain and our proposed method was evaluated by users. The contribution and novelty of our methodology is that we created a tool for defining requirements that integrates boilerplate templates and an ontology. We exploit the boilerplate language syntax, mapping them to Resource Description Framework triples which have also a linguistic nature.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"31 1","pages":""},"PeriodicalIF":3.4,"publicationDate":"2023-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-023-00403-y.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138431466","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Automated Software Engineering
全部 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