首页 > 最新文献

Automated Software Engineering最新文献

英文 中文
Ethereum fraud smart contract detection using heterogeneous semantic graph 基于异构语义图的以太坊欺诈智能合约检测
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-07 DOI: 10.1007/s10515-025-00537-1
Wei Chen, Xinjun Jiang, Tian Lan, Leyuan Liu

With the rapid development of blockchain technology, various types of fraud is becoming increasingly rampant. Many smart contract-based detection methods have been proposed for typical frauds, such as Ponzi scheme, honeypot and phishing. However, these methods are often lack of the extraction and application of the deep semantics of smart contract or are customized for specific fraud, resulting in limited performance and universality. In this paper, we propose a Ethereum fraud smart contract detection method based on Heterogeneous Semantic Graph(HSG) and Heterogeneous Graph Neural Network(HGNN), which extracts the high-level semantics of smart contracts and designs a graph classifier based on Heterogeneous Graph Transformer(HGT) model to detect fraud smart contracts. Experiments on Ponzi scheme, honeypot and phishing smart contract datasets demonstrate that our method is capable of extracting smart contract semantics more effectively and is superior to or equal to various existing fraud smart contract detection methods, and has universality in fraud smart contract detection tasks.

随着bb0技术的快速发展,各种类型的欺诈行为日益猖獗。针对庞氏骗局、蜜罐和网络钓鱼等典型的欺诈行为,已经提出了许多基于智能合约的检测方法。然而,这些方法往往缺乏对智能合约深层语义的提取和应用,或者是针对特定欺诈行为定制的,导致性能和通用性有限。本文提出了一种基于异构语义图(HSG)和异构图神经网络(HGNN)的以太坊欺诈智能合约检测方法,提取智能合约的高级语义,设计基于异构图转换器(HGT)模型的图分类器来检测欺诈智能合约。在庞氏骗局、蜜罐和网络钓鱼智能合约数据集上的实验表明,该方法能够更有效地提取智能合约语义,优于或等于现有的各种欺诈智能合约检测方法,在欺诈智能合约检测任务中具有通用性。
{"title":"Ethereum fraud smart contract detection using heterogeneous semantic graph","authors":"Wei Chen,&nbsp;Xinjun Jiang,&nbsp;Tian Lan,&nbsp;Leyuan Liu","doi":"10.1007/s10515-025-00537-1","DOIUrl":"10.1007/s10515-025-00537-1","url":null,"abstract":"<div><p>With the rapid development of blockchain technology, various types of fraud is becoming increasingly rampant. Many smart contract-based detection methods have been proposed for typical frauds, such as Ponzi scheme, honeypot and phishing. However, these methods are often lack of the extraction and application of the deep semantics of smart contract or are customized for specific fraud, resulting in limited performance and universality. In this paper, we propose a Ethereum fraud smart contract detection method based on Heterogeneous Semantic Graph(HSG) and Heterogeneous Graph Neural Network(HGNN), which extracts the high-level semantics of smart contracts and designs a graph classifier based on Heterogeneous Graph Transformer(HGT) model to detect fraud smart contracts. Experiments on Ponzi scheme, honeypot and phishing smart contract datasets demonstrate that our method is capable of extracting smart contract semantics more effectively and is superior to or equal to various existing fraud smart contract detection methods, and has universality in fraud smart contract detection tasks.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145163056","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
Agents in software engineering: survey, landscape, and vision 软件工程中的代理:调查、景观和远景
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-07 DOI: 10.1007/s10515-025-00544-2
Yanlin Wang, Wanjun Zhong, Yanxian Huang, Ensheng Shi, Min Yang, Jiachi Chen, Hui Li, Yuchi Ma, Qianxiang Wang, Zibin Zheng

In recent years, Large Language Models (LLMs) have achieved remarkable success and have been widely used in various downstream tasks, especially in the tasks of the software engineering (SE) field. We find that many studies combining LLMs with SE have employed the concept of agents either explicitly or implicitly. However, there is a lack of an in-depth survey to sort out the development context of existing works, analyze how existing works combine the LLM-based agent technologies to optimize various tasks, and clarify the framework of LLM-based agents in SE. In this paper, we conduct the first survey of the studies on combining LLM-based agents with SE and present a framework of LLM-based agents in SE which includes three key modules: perception, memory, and action. We also summarize the current challenges in combining the two fields and propose future opportunities in response to existing challenges. We maintain a GitHub repository of the related papers at: https://github.com/DeepSoftwareAnalytics/Awesome-Agent4SE.

近年来,大型语言模型(Large Language Models, llm)取得了显著的成功,并被广泛应用于各种下游任务,特别是软件工程(software engineering, SE)领域的任务。我们发现许多将法学硕士与SE结合的研究都明确或隐含地使用了代理人的概念。然而,缺乏深入的调查来梳理现有作品的发展背景,分析现有作品如何结合基于llm的agent技术来优化各种任务,并明确基于llm的agent在SE中的框架。在本文中,我们首次对基于llm的agent与SE相结合的研究进行了调查,并提出了SE中基于llm的agent的框架,其中包括三个关键模块:感知、记忆和行动。我们还总结了目前两领域结合面临的挑战,并针对现有挑战提出了未来的机遇。我们维护了相关论文的GitHub存储库:https://github.com/DeepSoftwareAnalytics/Awesome-Agent4SE。
{"title":"Agents in software engineering: survey, landscape, and vision","authors":"Yanlin Wang,&nbsp;Wanjun Zhong,&nbsp;Yanxian Huang,&nbsp;Ensheng Shi,&nbsp;Min Yang,&nbsp;Jiachi Chen,&nbsp;Hui Li,&nbsp;Yuchi Ma,&nbsp;Qianxiang Wang,&nbsp;Zibin Zheng","doi":"10.1007/s10515-025-00544-2","DOIUrl":"10.1007/s10515-025-00544-2","url":null,"abstract":"<div>\u0000 \u0000 <p>In recent years, Large Language Models (LLMs) have achieved remarkable success and have been widely used in various downstream tasks, especially in the tasks of the software engineering (SE) field. We find that many studies combining LLMs with SE have employed the concept of agents either explicitly or implicitly. However, there is a lack of an in-depth survey to sort out the development context of existing works, analyze how existing works combine the LLM-based agent technologies to optimize various tasks, and clarify the framework of LLM-based agents in SE. In this paper, we conduct the first survey of the studies on combining LLM-based agents with SE and present a framework of LLM-based agents in SE which includes three key modules: perception, memory, and action. We also summarize the current challenges in combining the two fields and propose future opportunities in response to existing challenges. We maintain a GitHub repository of the related papers at: https://github.com/DeepSoftwareAnalytics/Awesome-Agent4SE.</p>\u0000 </div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145163059","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
Unveiling code clone patterns in open source VR software: an empirical study 揭示开源VR软件中的代码克隆模式:一项实证研究
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-07 DOI: 10.1007/s10515-025-00536-2
Huashan Chen, Zisheng Huang, Yifan Xu, Wenjie Huang, Xuheng Wang, Jinfu Chen, Haotang Li, Kebin Peng, Feng Liu, Sen He

Code cloning is frequently observed in software development, often leading to a variety of maintenance and security issues. While substantial research has been conducted on code cloning in traditional software, to the best of my knowledge, there is a lack of studies on cloning in virtual reality (VR) software that consider its unique nature, particularly the presence of numerous serialized files in conjunction with the source code. In this paper, we conduct the first large-scale quantitative empirical analysis of software clones in 345 open-source VR projects, using the NiCad detector for source code clone detection and large language models (LLMs) for identifying serialized file clones. Our study leads to a number of insights into cloning phenomena in VR software, guided by seven carefully formulated research questions. These findings, along with their implications, are anticipated to provide useful guidance for both researchers and software developers within the VR field.

代码克隆在软件开发中经常出现,经常导致各种维护和安全问题。虽然对传统软件中的代码克隆进行了大量研究,但据我所知,对虚拟现实(VR)软件中的克隆进行的研究缺乏考虑到其独特性的研究,特别是与源代码一起存在大量序列化文件的研究。本文首次对345个开源VR项目中的软件克隆进行了大规模的定量实证分析,使用NiCad检测器进行源代码克隆检测,使用大型语言模型(llm)识别序列化的文件克隆。在七个精心制定的研究问题的指导下,我们的研究导致了对VR软件中的克隆现象的一些见解。这些发现及其意义有望为VR领域的研究人员和软件开发人员提供有用的指导。
{"title":"Unveiling code clone patterns in open source VR software: an empirical study","authors":"Huashan Chen,&nbsp;Zisheng Huang,&nbsp;Yifan Xu,&nbsp;Wenjie Huang,&nbsp;Xuheng Wang,&nbsp;Jinfu Chen,&nbsp;Haotang Li,&nbsp;Kebin Peng,&nbsp;Feng Liu,&nbsp;Sen He","doi":"10.1007/s10515-025-00536-2","DOIUrl":"10.1007/s10515-025-00536-2","url":null,"abstract":"<div><p>Code cloning is frequently observed in software development, often leading to a variety of maintenance and security issues. While substantial research has been conducted on code cloning in traditional software, to the best of my knowledge, there is a lack of studies on cloning in virtual reality (VR) software that consider its unique nature, particularly the presence of numerous serialized files in conjunction with the source code. In this paper, we conduct the first large-scale quantitative empirical analysis of software clones in 345 open-source VR projects, using the NiCad detector for source code clone detection and large language models (LLMs) for identifying serialized file clones. Our study leads to a number of insights into cloning phenomena in VR software, guided by seven carefully formulated research questions. These findings, along with their implications, are anticipated to provide useful guidance for both researchers and software developers within the VR field.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145163057","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
Detection of hidden privilege escalations in android 在android中检测隐藏的特权升级
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-01 DOI: 10.1007/s10515-025-00542-4
Mohamed A. El-Zawawy, Aya Hamdy

Android’s most widely used smartphone OS has several inter-app communication options, such as broadcast receivers, intents, content providers, and objectives. Even though the Android permission system restricts access and safeguards user data, security flaws allow malicious apps to abuse permission systems. Higher-order privilege escalation, where apps cooperate to circumvent security limitations throughout several phases, is a key vulnerability in this ecosystem. This paper presents a new method for n-order case analysis to find undetectable privilege escalations. Our approach systematically identifies multi-stage permission escalations via automated test case generation and stationary analysis. Unlike current methods emphasizing direct permission misuse, our approach analyzes escalation chains across many app interactions and uncovered 52,982 instances of fourth-order privilege escalation that went unnoticed when just first-order transitions were examined. Furthermore, our findings show an important distinction: benign programs gradually gain greater permissions through escalation chains, whereas malignant apps request excessively high upfront rights. This difference emphasizes the necessity of better permission management techniques to reduce the serious risk associated with rising higher-order privilege escalations, which are generally disregarded by current detection systems. Therefore, our method fulfills the need for a more scalable detection technique to address this challenging security concern in Android ecosystem.

Android是使用最广泛的智能手机操作系统,它有多个应用间通信选项,如广播接收器、意图、内容提供者和目标。尽管Android权限系统限制访问并保护用户数据,但安全漏洞允许恶意应用程序滥用权限系统。高阶特权升级,即应用程序在多个阶段合作规避安全限制,是这个生态系统中的一个关键漏洞。本文提出了一种新的n阶案例分析方法来发现不可检测的特权升级。我们的方法通过自动化测试用例生成和平稳分析系统地识别多阶段权限升级。与当前强调直接权限滥用的方法不同,我们的方法分析了许多应用程序交互中的升级链,并发现了52,982个四阶权限升级实例,这些实例在检查一阶转换时未被注意到。此外,我们的研究结果显示了一个重要的区别:良性程序通过升级链逐渐获得更大的权限,而恶性应用程序要求过高的前期权限。这种差异强调了更好的权限管理技术的必要性,以减少与不断上升的高阶特权升级相关的严重风险,而当前的检测系统通常忽略了这一点。因此,我们的方法满足了对更具可扩展性的检测技术的需求,以解决Android生态系统中具有挑战性的安全问题。
{"title":"Detection of hidden privilege escalations in android","authors":"Mohamed A. El-Zawawy,&nbsp;Aya Hamdy","doi":"10.1007/s10515-025-00542-4","DOIUrl":"10.1007/s10515-025-00542-4","url":null,"abstract":"<div><p>Android’s most widely used smartphone OS has several inter-app communication options, such as broadcast receivers, intents, content providers, and objectives. Even though the Android permission system restricts access and safeguards user data, security flaws allow malicious apps to abuse permission systems. Higher-order privilege escalation, where apps cooperate to circumvent security limitations throughout several phases, is a key vulnerability in this ecosystem. This paper presents a new method for n-order case analysis to find undetectable privilege escalations. Our approach systematically identifies multi-stage permission escalations via automated test case generation and stationary analysis. Unlike current methods emphasizing direct permission misuse, our approach analyzes escalation chains across many app interactions and uncovered 52,982 instances of fourth-order privilege escalation that went unnoticed when just first-order transitions were examined. Furthermore, our findings show an important distinction: benign programs gradually gain greater permissions through escalation chains, whereas malignant apps request excessively high upfront rights. This difference emphasizes the necessity of better permission management techniques to reduce the serious risk associated with rising higher-order privilege escalations, which are generally disregarded by current detection systems. Therefore, our method fulfills the need for a more scalable detection technique to address this challenging security concern in Android ecosystem.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-025-00542-4.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145160803","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
Envisioning responsible quantum software engineering and quantum artificial intelligence 设想负责任的量子软件工程和量子人工智能
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-08-01 DOI: 10.1007/s10515-025-00541-5
Muneera Bano, Shaukat Ali, Didar Zowghi

The convergence of Quantum Computing (QC), Quantum Software Engineering (QSE), and Artificial Intelligence (AI) presents transformative opportunities across various domains. However, existing methodologies inadequately address the ethical, security, and governance challenges arising from this technological shift. This paper highlights the urgent need for interdisciplinary collaboration to embed ethical principles into the development of Quantum AI (QAI) and QSE, ensuring transparency, inclusivity, and equitable global access. Without proactive governance, there is a risk of deepening digital inequalities and consolidating power among a select few. We call on the software engineering community to actively shape a future where responsible QSE and QAI are foundational for ethical, accountable, and socially beneficial technological progress.

量子计算(QC)、量子软件工程(QSE)和人工智能(AI)的融合为各个领域带来了变革机会。然而,现有的方法不能充分解决技术转变带来的道德、安全和治理挑战。本文强调了跨学科合作的迫切需要,将伦理原则嵌入量子人工智能(QAI)和量子量子工程的发展中,确保透明度、包容性和公平的全球获取。如果没有积极主动的治理,就有可能加深数字不平等,巩固少数人的权力。我们呼吁软件工程界积极塑造一个未来,负责任的QSE和QAI是道德、负责任和对社会有益的技术进步的基础。
{"title":"Envisioning responsible quantum software engineering and quantum artificial intelligence","authors":"Muneera Bano,&nbsp;Shaukat Ali,&nbsp;Didar Zowghi","doi":"10.1007/s10515-025-00541-5","DOIUrl":"10.1007/s10515-025-00541-5","url":null,"abstract":"<div><p>The convergence of Quantum Computing (QC), Quantum Software Engineering (QSE), and Artificial Intelligence (AI) presents transformative opportunities across various domains. However, existing methodologies inadequately address the ethical, security, and governance challenges arising from this technological shift. This paper highlights the urgent need for interdisciplinary collaboration to embed ethical principles into the development of Quantum AI (QAI) and QSE, ensuring transparency, inclusivity, and equitable global access. Without proactive governance, there is a risk of deepening digital inequalities and consolidating power among a select few. We call on the software engineering community to actively shape a future where responsible QSE and QAI are foundational for ethical, accountable, and socially beneficial technological progress.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-025-00541-5.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145160878","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
MCL-VD: Multi-modal contrastive learning with LoRA-enhanced GraphCodeBERT for effective vulnerability detection MCL-VD:基于lora增强GraphCodeBERT的多模态对比学习,用于有效的漏洞检测
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-07-28 DOI: 10.1007/s10515-025-00543-3
Yi Cao, Xiaolin Ju, Xiang Chen, Lina Gong

Vulnerability detection in software systems is a critical challenge due to the increasing complexity of code and the rising frequency of security vulnerabilities. Traditional approaches typically rely on single-modality inputs and struggle to distinguish between similar code snippets. However, multi-modal methods find it challenging to balance performance and efficiency. To address these challenges, we propose MCL-VD, a framework that leverages multi-modal inputs including source code, code comments, and AST to capture complementary structural and contextual information. We employ LoRA, which reduces the computational burden by optimizing the number of trainable parameters without sacrificing performance. Additionally, we apply multi-modal contrastive learning to align and differentiate the representations across the three modalities, thereby enhancing the model’s discriminative power and robustness. We designed and conducted experiments on three public benchmark datasets, i.e., Devign, Reveal, and Big-Vul. The experimental results show that MCL-VD significantly outperforms the best-performing baselines, achieving F1-score improvements ranging from 4.86% to 17.26%. These results highlight the effectiveness of combining multi-modal contrastive learning with LoRA optimization, providing a powerful and efficient solution for vulnerability detection.

由于代码的复杂性和安全漏洞的频繁出现,漏洞检测在软件系统中是一个关键的挑战。传统方法通常依赖于单模态输入,难以区分相似的代码片段。然而,多模态方法很难平衡性能和效率。为了应对这些挑战,我们提出了MCL-VD,这是一个利用多模态输入(包括源代码、代码注释和AST)来捕获互补结构和上下文信息的框架。我们采用LoRA,在不牺牲性能的情况下通过优化可训练参数的数量来减少计算负担。此外,我们应用多模态对比学习来对齐和区分三种模态的表征,从而增强模型的判别能力和鲁棒性。我们在三个公共基准数据集上设计并进行了实验,即Devign, Reveal和Big-Vul。实验结果表明,MCL-VD显著优于最佳基准,f1分数提高幅度为4.86%至17.26%。这些结果突出了多模态对比学习与LoRA优化相结合的有效性,为漏洞检测提供了一个强大而高效的解决方案。
{"title":"MCL-VD: Multi-modal contrastive learning with LoRA-enhanced GraphCodeBERT for effective vulnerability detection","authors":"Yi Cao,&nbsp;Xiaolin Ju,&nbsp;Xiang Chen,&nbsp;Lina Gong","doi":"10.1007/s10515-025-00543-3","DOIUrl":"10.1007/s10515-025-00543-3","url":null,"abstract":"<div><p>Vulnerability detection in software systems is a critical challenge due to the increasing complexity of code and the rising frequency of security vulnerabilities. Traditional approaches typically rely on single-modality inputs and struggle to distinguish between similar code snippets. However, multi-modal methods find it challenging to balance performance and efficiency. To address these challenges, we propose MCL-VD, a framework that leverages multi-modal inputs including source code, code comments, and AST to capture complementary structural and contextual information. We employ LoRA, which reduces the computational burden by optimizing the number of trainable parameters without sacrificing performance. Additionally, we apply multi-modal contrastive learning to align and differentiate the representations across the three modalities, thereby enhancing the model’s discriminative power and robustness. We designed and conducted experiments on three public benchmark datasets, i.e., Devign, Reveal, and Big-Vul. The experimental results show that MCL-VD significantly outperforms the best-performing baselines, achieving F1-score improvements ranging from 4.86% to 17.26%. These results highlight the effectiveness of combining multi-modal contrastive learning with LoRA optimization, providing a powerful and efficient solution for vulnerability detection.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145170970","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
From code to insight: studying code representation techniques for ML-based God class detection to support intelligent IDEs 从代码到洞察力:研究基于ml的上帝类检测的代码表示技术,以支持智能ide
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-07-25 DOI: 10.1007/s10515-025-00534-4
Elmohanad Haroon, Khaled Tawfik Wassif, Lamia Abo Zaid

In the realm of software development, detecting code smells is a critical task for ensuring good code quality. God class code smell specifically has a specific nature associated with a great deal of subjectivity due to the levels of coupling and cohesion associated to it. Automated techniques for code smell detection aim to resolve this subjectivity. Machine learning techniques have shown promising results that tend to improve accuracy and reduce the bias associated with other techniques for God class identification. This is due to their pattern recognition capabilities making them more objective in identifying patterns that indicate code smells. However, current results need to be further improved in terms of both accuracy and generalizability. The challenge in the use of machine learning is not only in selecting the most appropriate technique but also lies in effectively representing source code as input patterns fed to Machine Learning (ML) classifier(s). Code representation plays a pivotal role in encoding source code for ML algorithms. This study aims improving the accuracy and generalizability of God class code smell detection via exploring the effect of using various code representation techniques, namely, tree-based, metric-based, code embedding, and token-based code representation techniques on the ML detection results. The study is conducted on the MLCQ dataset, and applies various ML algorithms (specifically: Logistic Regression, Random Forest, SVM, Decision Tree, Naive Bayes, Gradient Boosting, XGBoost). The evaluation results show how different code representation techniques influence ML detection outcomes and the comparative performance of ML algorithms. The study findings reveal that the F1-score achieved outperforms prior studies on the MLCQ dataset, indicating the effectiveness of the proposed approach. The presented results reveal how the code representation technique used makes a significant impact on the ML classifier results. This paves the way for developing intelligent IDE plugins for just in time God Class code smell detection among other code smells.

在软件开发领域,检测代码气味是确保良好代码质量的关键任务。由于与之相关的耦合和内聚级别,God类代码气味具有与大量主观性相关的特定性质。自动化的代码气味检测技术旨在解决这种主观性。机器学习技术已经显示出有希望的结果,倾向于提高准确性,减少与其他技术相关的上帝类识别的偏差。这是由于它们的模式识别能力使它们在识别指示代码气味的模式方面更加客观。然而,目前的结果在准确性和普遍性方面都需要进一步改进。使用机器学习的挑战不仅在于选择最合适的技术,还在于有效地将源代码作为输入模式表示给机器学习(ML)分类器。代码表示在机器学习算法的源代码编码中起着关键作用。本研究旨在通过探索使用各种代码表示技术(即基于树的、基于度量的、代码嵌入的和基于令牌的代码表示技术)对ML检测结果的影响,提高上帝类代码气味检测的准确性和可泛化性。该研究是在MLCQ数据集上进行的,并应用了各种ML算法(具体而言:逻辑回归、随机森林、支持向量机、决策树、朴素贝叶斯、梯度增强、XGBoost)。评估结果显示了不同的代码表示技术如何影响机器学习检测结果和机器学习算法的比较性能。研究结果表明,获得的f1分数优于先前在MLCQ数据集上的研究,表明所提出方法的有效性。给出的结果揭示了所使用的代码表示技术如何对ML分类器结果产生重大影响。这为开发智能IDE插件铺平了道路,以便及时在其他代码气味中检测God Class代码气味。
{"title":"From code to insight: studying code representation techniques for ML-based God class detection to support intelligent IDEs","authors":"Elmohanad Haroon,&nbsp;Khaled Tawfik Wassif,&nbsp;Lamia Abo Zaid","doi":"10.1007/s10515-025-00534-4","DOIUrl":"10.1007/s10515-025-00534-4","url":null,"abstract":"<div><p>In the realm of software development, detecting code smells is a critical task for ensuring good code quality. God class code smell specifically has a specific nature associated with a great deal of subjectivity due to the levels of coupling and cohesion associated to it. Automated techniques for code smell detection aim to resolve this subjectivity. Machine learning techniques have shown promising results that tend to improve accuracy and reduce the bias associated with other techniques for God class identification. This is due to their pattern recognition capabilities making them more objective in identifying patterns that indicate code smells. However, current results need to be further improved in terms of both accuracy and generalizability. The challenge in the use of machine learning is not only in selecting the most appropriate technique but also lies in effectively representing source code as input patterns fed to Machine Learning (ML) classifier(s). Code representation plays a pivotal role in encoding source code for ML algorithms. This study aims improving the accuracy and generalizability of God class code smell detection via exploring the effect of using various code representation techniques, namely, tree-based, metric-based, code embedding, and token-based code representation techniques on the ML detection results. The study is conducted on the MLCQ dataset, and applies various ML algorithms (specifically: Logistic Regression, Random Forest, SVM, Decision Tree, Naive Bayes, Gradient Boosting, XGBoost). The evaluation results show how different code representation techniques influence ML detection outcomes and the comparative performance of ML algorithms. The study findings reveal that the F1-score achieved outperforms prior studies on the MLCQ dataset, indicating the effectiveness of the proposed approach. The presented results reveal how the code representation technique used makes a significant impact on the ML classifier results. This paves the way for developing intelligent IDE plugins for just in time God Class code smell detection among other code smells.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-07-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-025-00534-4.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145169395","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
DESCG: data encoding scheme classification with GNN in binary analysis DESCG:在二进制分析中使用GNN的数据编码方案分类
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-07-18 DOI: 10.1007/s10515-025-00538-0
Xushu Dai, Nanqing Luo, Haizhou Wang, Zhilong Wang, Chen Cao, Peng Liu

Binary analysis, the process of examining software without its source code, plays a crucial role in understanding program behavior, e.g., evaluating the security properties of commercial software, and analyzing malware. One challenging aspect of this process is to classify data encoding schemes, such as encryption and compression, due to the absence of high-level semantic information. Existing approaches either rely on code similarity, which only works for known schemes, or heuristic rules, which lack scalability. In this paper, we propose DESCG, a novel deep learning-based method for automatically classifying four widely employed kinds of data encoding schemes in binary programs: encryption, compression, decompression, and hashing. Our approach leverages dynamic analysis to extract execution traces from binary programs, builds data dependency graphs from these traces, and incorporates critical feature engineering. By combining the specialized graph representation with the Graph Neural Network (GNN), our approach enables accurate classification without requiring prior knowledge of specific encoding schemes. The Evaluation result shows that DESCG achieves 97.7% accuracy and an F1 score of 97.67%, outperforming baseline models. We also conducted an extensive evaluation of DESCG to explore which feature is more important for it and examine its performance and overhead.

二进制分析,即在没有源代码的情况下检查软件的过程,在理解程序行为方面起着至关重要的作用,例如,评估商业软件的安全属性,以及分析恶意软件。由于缺乏高级语义信息,这个过程的一个挑战性方面是对数据编码方案(如加密和压缩)进行分类。现有的方法要么依赖于代码相似性,这只适用于已知的方案,要么依赖于启发式规则,而启发式规则缺乏可伸缩性。在本文中,我们提出了DESCG,一种新颖的基于深度学习的方法,用于自动分类二进制程序中广泛使用的四种数据编码方案:加密,压缩,解压缩和哈希。我们的方法利用动态分析从二进制程序中提取执行轨迹,从这些轨迹中构建数据依赖图,并结合关键特征工程。通过将专门的图表示与图神经网络(GNN)相结合,我们的方法可以实现准确的分类,而无需事先了解特定的编码方案。评价结果表明,DESCG的准确率为97.7%,F1得分为97.67%,优于基线模型。我们还对DESCG进行了广泛的评估,以探索哪个特性对它更重要,并检查其性能和开销。
{"title":"DESCG: data encoding scheme classification with GNN in binary analysis","authors":"Xushu Dai,&nbsp;Nanqing Luo,&nbsp;Haizhou Wang,&nbsp;Zhilong Wang,&nbsp;Chen Cao,&nbsp;Peng Liu","doi":"10.1007/s10515-025-00538-0","DOIUrl":"10.1007/s10515-025-00538-0","url":null,"abstract":"<div><p>Binary analysis, the process of examining software without its source code, plays a crucial role in understanding program behavior, e.g., evaluating the security properties of commercial software, and analyzing malware. One challenging aspect of this process is to classify data encoding schemes, such as encryption and compression, due to the absence of high-level semantic information. Existing approaches either rely on code similarity, which only works for known schemes, or heuristic rules, which lack scalability. In this paper, we propose <b>DESCG</b>, a novel deep learning-based method for automatically classifying four widely employed kinds of data encoding schemes in binary programs: encryption, compression, decompression, and hashing. Our approach leverages dynamic analysis to extract execution traces from binary programs, builds data dependency graphs from these traces, and incorporates critical feature engineering. By combining the specialized graph representation with the Graph Neural Network (GNN), our approach enables accurate classification without requiring prior knowledge of specific encoding schemes. The Evaluation result shows that <b>DESCG </b>achieves 97.7% accuracy and an F1 score of 97.67%, outperforming baseline models. We also conducted an extensive evaluation of <b>DESCG </b>to explore which feature is more important for it and examine its performance and overhead.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-025-00538-0.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145166985","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
DPEfficR: a data and parameter efficient approach for training neural API recommendation model DPEfficR:一种数据和参数有效的神经API推荐模型训练方法
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-07-16 DOI: 10.1007/s10515-025-00530-8
Haibo Yu, Xiaohong Han, Simin Chen, Xiaoning Feng, Guangzhao Sun, Wei Yang

Recommending application programming interfaces (APIs) is practical and essential in today’s programming landscape. An accurate API recommendation system could significantly improve developers’ coding efficiency. State-of-the-art (SOTA) API recommendation systems typically employ deep learning models as the backend model. However, training the backend deep learning model for API recommendation systems poses a challenging task due to the significant effort required for data labeling and the need for extensive computations. These challenges deeply affect the process of updating an existing API recommendation system when the API evolves. To address these issues, this paper proposes DPEfficR, a data and parameter efficient method for building API recommendation systems. Specifically, DPEfficR includes (1) the data selection module; (2) the task-specific parameter tuning module; and (3) the runtime API selection module. The data selection module selects representative data, while the task-specific parameter tuning module tunes pre-trained LLMs with a small number of parameters. Once the LLM is well-tuned, the runtime API selection module searches for a more accurate API sequence through consistency checking. We compare our approach against seven baseline methods, which belong to three different types. Our comprehensive evaluation demonstrates the effectiveness of our approach in recommending a more accurate API sequence, achieving improvements of 40% in BLEU-4 and 25% in ROUGE-2 over the baseline methods, with only (varvec{3.61 times 10}^{varvec{4}}) tunable parameters, representing just 0.049% of the parameters used in the baseline methods. Moreover, our ablation study demonstrates the effectiveness of the proposed modules in our systems.

在当今的编程环境中,推荐应用程序编程接口(api)是实用且必要的。一个准确的API推荐系统可以显著提高开发人员的编码效率。最先进(SOTA) API推荐系统通常使用深度学习模型作为后端模型。然而,训练API推荐系统的后端深度学习模型是一项具有挑战性的任务,因为数据标记需要大量的工作,并且需要大量的计算。当API发展时,这些挑战会严重影响现有API推荐系统的更新过程。为了解决这些问题,本文提出了一种数据和参数高效的构建API推荐系统的方法DPEfficR。具体来说,DPEfficR包括(1)数据选择模块;(2)任务参数调优模块;(3)运行时API选择模块。数据选择模块选择具有代表性的数据,而特定于任务的参数调优模块则对带有少量参数的预训练llm进行调优。LLM调优后,运行时API选择模块通过一致性检查搜索更准确的API序列。我们将我们的方法与属于三种不同类型的七种基线方法进行比较。我们的综合评估证明了我们的方法在推荐更准确的API序列方面的有效性,实现了40的改进% in BLEU-4 and 25% in ROUGE-2 over the baseline methods, with only (varvec{3.61 times 10}^{varvec{4}}) tunable parameters, representing just 0.049% of the parameters used in the baseline methods. Moreover, our ablation study demonstrates the effectiveness of the proposed modules in our systems.
{"title":"DPEfficR: a data and parameter efficient approach for training neural API recommendation model","authors":"Haibo Yu,&nbsp;Xiaohong Han,&nbsp;Simin Chen,&nbsp;Xiaoning Feng,&nbsp;Guangzhao Sun,&nbsp;Wei Yang","doi":"10.1007/s10515-025-00530-8","DOIUrl":"10.1007/s10515-025-00530-8","url":null,"abstract":"<div><p>Recommending application programming interfaces (APIs) is practical and essential in today’s programming landscape. An accurate API recommendation system could significantly improve developers’ coding efficiency. State-of-the-art (SOTA) API recommendation systems typically employ deep learning models as the backend model. However, training the backend deep learning model for API recommendation systems poses a challenging task due to the significant effort required for data labeling and the need for extensive computations. These challenges deeply affect the process of updating an existing API recommendation system when the API evolves. To address these issues, this paper proposes <span>DPEfficR</span>, a data and parameter efficient method for building API recommendation systems. Specifically, <span>DPEfficR</span> includes (1) the data selection module; (2) the task-specific parameter tuning module; and (3) the runtime API selection module. The data selection module selects representative data, while the task-specific parameter tuning module tunes pre-trained LLMs with a small number of parameters. Once the LLM is well-tuned, the runtime API selection module searches for a more accurate API sequence through consistency checking. We compare our approach against seven baseline methods, which belong to three different types. Our comprehensive evaluation demonstrates the effectiveness of our approach in recommending a more accurate API sequence, achieving improvements of 40% in BLEU-4 and 25% in ROUGE-2 over the baseline methods, with only <span>(varvec{3.61 times 10}^{varvec{4}})</span> tunable parameters, representing just 0.049% of the parameters used in the baseline methods. Moreover, our ablation study demonstrates the effectiveness of the proposed modules in our systems.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-07-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145165802","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 search-based testing with LLMs for finding bugs in system simulators 使用llm增强基于搜索的测试,以查找系统模拟器中的错误
IF 3.1 2区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-07-10 DOI: 10.1007/s10515-025-00531-7
Aidan Dakhama, Karine Even-Mendoza, W. B Langdon, Héctor D. Menéndez, Justyna Petke

Despite the wide availability of automated testing techniques such as fuzzing, little attention has been devoted to testing computer architecture simulators. We propose a fully automated approach for this task. Our approach uses large language models (LLM) to generate input programs, including information about their parameters and types, as test cases for the simulators. The LLM’s output becomes the initial seed for an existing fuzzer, AFL++, which has been enhanced with three mutation operators, targeting both the input binary program and its parameters. We implement our approach in a tool called SearchSYS . We use it to test the gem5 system simulator. SearchSYS discovered 21 new bugs in gem5 , 14 where gem5 ’s software prediction differs from the real behaviour on actual hardware, and 7 where it crashed. New defects were uncovered with each of the 6 LLMs used.

尽管诸如模糊测试之类的自动化测试技术广泛可用,但很少有人关注对计算机体系结构模拟器的测试。我们提出了一种完全自动化的方法来完成这项任务。我们的方法使用大型语言模型(LLM)来生成输入程序,包括关于其参数和类型的信息,作为模拟器的测试用例。LLM的输出将成为现有模糊器afl++的初始种子,该模糊器已通过三个突变操作符进行增强,针对输入二进制程序及其参数。我们在一个叫做SearchSYS的工具中实现了我们的方法。我们用它来测试gem5系统模拟器。SearchSYS在gem5中发现了21个新漏洞,其中14个是gem5的软件预测与实际硬件上的实际行为不同,7个是它崩溃的地方。使用6个llm中的每一个都发现了新的缺陷。
{"title":"Enhancing search-based testing with LLMs for finding bugs in system simulators","authors":"Aidan Dakhama,&nbsp;Karine Even-Mendoza,&nbsp;W. B Langdon,&nbsp;Héctor D. Menéndez,&nbsp;Justyna Petke","doi":"10.1007/s10515-025-00531-7","DOIUrl":"10.1007/s10515-025-00531-7","url":null,"abstract":"<div><p>Despite the wide availability of automated testing techniques such as fuzzing, little attention has been devoted to testing computer architecture simulators. We propose a fully automated approach for this task. Our approach uses large language models (LLM) to generate input programs, including information about their parameters and types, as test cases for the simulators. The LLM’s output becomes the initial seed for an existing fuzzer, <span>AFL++</span>, which has been enhanced with three mutation operators, targeting both the input binary program and its parameters. We implement our approach in a tool called <span>SearchSYS</span> . We use it to test the <span>gem5</span> system simulator. <span>SearchSYS</span> discovered 21 new bugs in <span>gem5</span> , 14 where <span>gem5</span> ’s software prediction differs from the real behaviour on actual hardware, and 7 where it crashed. New defects were uncovered with each of the 6 LLMs used.</p></div>","PeriodicalId":55414,"journal":{"name":"Automated Software Engineering","volume":"32 2","pages":""},"PeriodicalIF":3.1,"publicationDate":"2025-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://link.springer.com/content/pdf/10.1007/s10515-025-00531-7.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145164484","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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1