Automated Refactoring of Non-Idiomatic Python Code: A Differentiated Replication with LLMs
本文研究了GPT-4在推荐地道Python代码重构方面的有效性,发现其不仅能有效识别地道构造,还能在现有基线失败时提出正确的重构操作,突显了LLM替代复杂代码分析推荐器的潜力。
2025-01-28 cs.SE
PCART: Automated Repair of Python API Parameter Compatibility Issues
Key Laboratory for Safety-critical Software Development and Verification, Nanjing University of Aeronautics and Astronautics(南京航空航天大学安全关键软件开发与验证重点实验室);State Key Lab. for Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室);Department of Computer Science and Engineering, Southern University of Science and Technology(南方科技大学计算机科学与工程系);School of Automation Science and Electrical Engineering, Beihang University(北京航空航天大学自动化科学与电气工程学院)
PCART 是首个自动修复 Python API 参数兼容性问题的工具,通过自动化提取、仪器化、映射、评估、修复和验证,有效检测并修复多种参数变化问题。
2025-12-23 cs.SE
Vul4Py: Benchmarking Automated Vulnerability Repair in Python with Paired Exploit and Functional Oracles
Singapore Management University(新加坡管理大学);Monash University(蒙纳士大学);University of New South Wales(新南威尔士大学)
本研究提出Vul4Py基准测试,含100个Python真实漏洞及配对预言机,对比三类AVR方法,发现智能体OpenHands修复漏洞数远超同类方法,配对预言机保障结果可信。
2026-08-04 cs.SE
CiRA: An Open-Source Python Package for Automated Generation of Test Case Descriptions from Natural Language Requirements
本文介绍CiRA工具,它从条件性自然语言需求中自动提取因果关系,生成全覆盖的最小测试用例集,并在61条需求上分别以84.5%和92.3%的准确率推断测试变量与配置。
2023-10-12 cs.SE
A Data Set of Generalizable Python Code Change Patterns
本文针对Python缺乏重复代码变更模式数据集的问题,提出一个经人工审查的72个可泛化Python代码变更模式数据集,并制定了识别指南以推进开发者支持工具的构建。
2023-04-11 cs.SE
PCREQ: Automated Inference of Compatible Requirements for Python Third-party Library Upgrades
Nanjing University of Aeronautics and Astronautics(南京航空航天大学);Nanjing University(南京大学);Southern University of Science and Technology(南方科技大学);Beihang University(北京航空航天大学)
PCREQ通过结合版本和代码兼容性分析,自动化推断Python第三方库升级的兼容性需求,解决了现有工具无法处理代码层面不兼容问题的不足,其在真实世界基准测试中表现出高准确率和高效处理能力。
2026-03-30 cs.SE
instancespace: a Python Package for Insightful Algorithm Testing through Instance Space Analysis
本文介绍Python包instancespace,它实现了实例空间分析的自动化流水线,可提供客观无偏的算法性能分析,支撑算法选择与测试实例生成,助力优化等领域的算法研发与部署。
2025-01-28 cs.SE
Towards Automated Performance Bug Identification in Python
内容:软件性能是一个关键的非功能性需求,出现在许多领域,如关键任务应用程序,金融和实时的系统。在这项工作中,我们专注于早期检测的性能错误,我们的软件在研究中是一个实时的系统中使用的广告/营销领域。目标:找到一个简单且易于实现的解决方案,预测性能错误。方法:我们使用四种机器学习方法构建了几个模型,通常用于缺陷预测:C4.5决策树,朴素贝叶斯,贝叶斯网络和逻辑回归。结果如下:我们的实证结果表明,C4.5模型,使用行的代码更改,文件的年龄和大小作为解释变量,可以用来预测性能错误(召回=0.73,准确率=0.85,精度=0.96)。我们表明,减少提交时交付的更改数量,可以降低性能错误注入的机会。结论:我们相信我们的方法可以帮助从业者在开发周期的早期消除性能错误。我们的研究结果也感兴趣的理论家,建立一个功能性错误和(非功能性)性能错误之间的联系,并明确表明,用于预测的功能性错误的属性可以用于预测的性能错误。
2016-07-28 cs.SE
Bugs in the Shadows: Static Detection of Faulty Python Refactorings
针对Python动态类型系统导致自动化重构易引入类型错误的问题,本文提出静态分析技术检测重构引入的类型错误,在Rope及主流IDE的重构实现中发现多个已被开发者确认的缺陷,为提升重构工具鲁棒性提供了依据。
2025-07-01 cs.SE
Type-aware LLM-based Regression Test Generation for Python Programs
针对Python动态类型导致现有测试生成方法易出类型错误的问题,提出集成调用图上下文、行为式类型推断与迭代修复的Test4Py框架,显著提升了真实Python模块的测试覆盖率。
2025-10-22 cs.SE
Beyond pip install: Evaluating LLM Agents for the Automated Installation of Python Projects
针对现有LLM软件工程智能体缺失仓库级依赖安装任务的问题,构建含40个Python项目的安装任务基准,提出Installamatic智能体通过检索仓库文档完成安装验证,实验显示55%的仓库十次尝试中至少可成功安装一次,并分析了失败原因与挑战。
2024-12-09 cs.SE
Detecting Behavioral Changes in Python Refactoring Implementations with Foundation Models
Federal University of Campina Grande(坎皮纳格兰德联邦大学);Federal University of Alagoas(阿拉戈阿斯联邦大学);Pontifical Catholic University of Rio de Janeiro(里约热内卢天主教大学)
本研究提出基于基础模型Oracle的方法,通过分析git风格差异检测Python重构的行为变化,在Rope上评估发现13个bug,12个被接受,凸显需提升Python重构工具鲁棒性。
2026-08-11 cs.SE
From Human to Machine Refactoring: Assessing GPT-4's Impact on Python Class Quality and Readability
University of Catania(卡塔尼亚大学);University of Sannio(桑尼奥大学)
本文评估GPT-4在Python类重构中的效果,发现其能提升代码质量和减少异味,但可能降低可读性。
2026-01-19 cs.SE
Transformation of Python Applications into Function-as-a-Service Deployments
新的云编程和部署模型给软件应用程序工程师带来了挑战,他们正在寻找工具来自动化任何必要的代码调整和转换,但往往是徒劳的。考虑到大多数云应用程序都是用非函数式语言实现的,函数式服务接口是一个特别重要的目标。这些语言中使用最广泛的是Python。这个起始位置需要一种自动化的方法,通过部分自动化的分解将单片Python代码转换为模块化的FaaS单元。因此,本文介绍并评估了Lambada,这是一个Python模块,可以动态分解,转换和部署未修改的Python代码到AWS Lambda函数中。除了工具的形式测量的开源原型实现,本文还提供了一个算法和代码重写规则的描述,作为其他脚本语言转换的蓝图。
2017-05-23 cs.DC cs.SE
UQpy v4.1: Uncertainty Quantification with Python
本文介绍了UQpy库第4版的最新改进,通过代码重构、采用软件工程最佳实践、持续集成与部署及Docker镜像,提升了代码的可扩展性、模块化、鲁棒性与跨平台可用性。
2023-05-16 cs.SE stat.CO
TIGER: A Generating-Then-Ranking Framework for Practical Python Type Inference
针对现有Python类型推断方法难处理复杂泛型和用户自定义类型的问题,本文提出两阶段生成-排序框架TIGER,在ManyTypes4Py数据集上显著提升了相关类型的推断准确率。
2024-08-13 cs.SE
pyMethods2Test: A Dataset of Python Tests Mapped to Focal Methods
本文提出 pyMethods2Test 数据集,通过分析 88K 个 GitHub 项目中的 Pytest 和 unittest 测试,建立超 200 万条从单元测试到被测焦点方法的显式映射,为训练 LLM 生成 Python 单元测试提供大规模数据支持。
2025-02-07 cs.SE
Search-based Hyperparameter Tuning for Python Unit Test Generation
本研究提出用差分进化调优Pynguin中DynaMOSA和MIO算法的超参数,实验证明可显著提升测试覆盖率,且比网格搜索更高效。
2025-10-09 cs.SE
LLM vs. Human Unit Tests: Fault Detection on Real Python Bugs
University of Tennessee(田纳西大学)
通过对比 LLM 生成与人工编写的单元测试在真实 Python 错误上的故障检测能力,发现 LLM 结合检索增强上下文可检测 69% 的故障,远超人工测试的 17.2%,且代码覆盖率相近,表明覆盖率不足以衡量故障检测能力。
2026-06-07 cs.SE
PyPackIT: Automated Research Software Engineering for Scientific Python Applications on GitHub
本文提出PyPackIT,一款基于云的自动化工具,利用现代持续软件工程与DevOps方法论,为科学Python应用提供构建包骨架、文档测试套件及自动化流水线,助力研究人员遵循FAIR与开放科学原则高效开发高质量软件。
2025-03-06 cs.CE cs.SE
Chat-like Asserts Prediction with the Support of Large Language Model
本文提出基于大语言模型的\ ool方法,利用角色设定、思维链和单样本学习,结合LLM与Python解释器多轮通信,为Python项目生成有意义的断言语句,准确率优于现有方法,有助于推动自动化单元测试发展。
2024-07-31 cs.SE
Improving Tese Case Generation for Python Native Libraries Through Constraints on Input Data Structures
现代Python项目使用本机库执行计算函数,并提供Python接口以提高执行速度;因此,测试这些库对于项目的健壮性至关重要。一个挑战是,现有的方法使用覆盖率来指导生成,但原生库作为没有执行信息的Python代码的黑盒运行。另一个原因是动态二进制插装降低了测试性能,因为它需要同时监控本机库和Python虚拟机。为了解决这些挑战,在本文中,我们提出了一个自动化的测试用例生成方法,在Python代码层工作。我们的见解是,原生库中的许多路径条件是通过与VM交互来处理输入数据结构。在我们的方法中,我们仪器的Python解释器来监视本地库和VM之间的交互,派生结构上的约束,然后使用约束来指导测试用例生成。我们在一个名为PyCing的工具中实现了我们的方法,并将其应用于六个广泛使用的Python项目。实验结果表明,在结构约束指导下,PyCing能够覆盖比现有测试用例和最先进工具更多的执行路径。此外,使用测试框架Pytest中的检查器,PyCing可以识别10个Python接口中的分段错误和9个接口中的内存泄漏。我们的仪器策略对测试效率也有可接受的影响。
2022-06-28 cs.SE
Characterizing Python Library Migrations
本研究通过人工标注335次Python库迁移的3096处代码变更,构建迁移代码变更分类体系PyMigTax,揭示Python库迁移的多维度特征及现有迁移工具的不足。
2024-01-29 cs.SE
A tool stack for implementing Behaviour-Driven Development in Python Language
本文提出了一种基于Python语言的行为驱动开发(BDD)的软件实现、规范和测试工具栈。此堆栈的使用突出了软件预期行为的规范和验证,降低了出错率并改进了文档。因此,除了更好地服务于涉众的期望之外,还可以在功能和单元级别上产生缺陷更少的代码。
2010-07-10 cs.SE
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest
Department of Computer Science, UFMG(计算机科学系,米纳斯吉拉斯联邦大学)
本文提出TestMigrationsInPy数据集,包含923个真实测试迁移案例,用于支持Python测试框架迁移的自动化研究。
2026-02-04 cs.SE
Automated Detection of Inter-Language Design Smells in Multi-Language Deep Learning Frameworks
本研究提出并实现了七种跨语言设计缺陷的自动检测方法,开发了CPSMELL工具,在五个主流多语言深度学习框架中达到98.17%的准确率,揭示了此类缺陷的普遍性及演进趋势。
2024-12-16 cs.SE
SBFT Tool Competition 2024 -- Python Test Case Generation Track
本文介绍首届 Python 测试用例生成竞赛,在 7 个开源项目的 35 个文件上以 400 秒预算评估四款工具,并依据代码与变异覆盖率比较其有效性。
2024-01-26 cs.SE
Unit Testing Challenges with Automated Marking
针对软件测试教学困难,本文通过EdStem平台引入带自动化评分的在线单元测试挑战,调查显示其能提升学生参与度、理解力与学习进度,是有效的教学实践。
2023-10-10 cs.SE
PyNose: A Test Smell Detector For Python
与生产代码类似,代码气味也出现在测试代码中,它们被称为测试气味。测试气味不仅对测试代码,而且对正在测试的生产代码都有不利影响。到目前为止,大多数关于测试气味的研究都集中在程序设计语言上,比如Java和Scala。然而,没有可用的自动化工具来支持Python测试气味的识别,尽管近年来Python的流行度迅速增长。在本文中,我们努力将研究扩展到Python,建立一个工具来检测这种语言的测试气味,并在Python项目中进行测试气味的实证分析。我们首先从现有的研究中收集了一系列测试气味,并选择了可以被认为与语言无关或在Python的标准Unittest框架中具有类似功能的测试气味。我们总共确定了17种不同的测试气味。此外,我们通过挖掘频繁的代码更改模式来搜索Python特定的测试气味,这些模式可以被视为修复或引入测试气味。基于这些变化,我们提出了我们自己的测试气味,称为次优断言。为了检测所有这些测试气味,我们开发了一个名为PyNose的工具,它是PyCharm(一个流行的Python IDE)的插件。最后,我们进行了一项大规模的实证调查,旨在分析Python代码中测试气味的流行程度。我们的研究结果表明,98%的项目和84%的测试套件在研究数据集中包含至少一个测试气味。我们提出的次优断言气味在多达70.6%的项目中被检测到,使其成为列表中有价值的补充。
2021-08-10 cs.SE
SecureFixAgent: A Hybrid LLM Agent for Automated Python Static Vulnerability Repair
Computer Science Department(计算机科学系);Applied Economics Department(应用经济学系)
SecureFixAgent 将 Bandit 静态分析与轻量级本地 LLM 结合,通过迭代检测-修复-验证循环和 LoRA 微调,实现低误报、高精度的自动化 Python 漏洞修复。
2025-09-18 cs.AI cs.CR cs.SE
Reflective Unit Test Generation for Precise Type Error Detection with Large Language Models
针对Python类型错误检测误报率高、测试生成难揭示缺陷的问题,提出结合类型约束分析与反思验证的RTED技术,在基准测试上优于现有方法,还发现了真实项目中的未知类型错误。
2025-10-02 cs.SE
SmartUnit: Empirical Evaluations for Automated Unit Testing of Embedded Software in Industry
在本文中,我们针对嵌入式软件的自动化单元覆盖率为基础的测试。为了实现这一目标,通过分析工业需求和我们以前在自动化单元测试工具CAUT上的工作,我们重新构建了一个新的工具SmartUnit,以解决我们合作伙伴公司的工程需求。SmartUnit是一个动态符号执行实现,支持语句、分支、边界值和MC/DC覆盖。SmartUnit已经在实际项目中测试了超过一百万行代码。出于保密动机,我们选择了三个内部真实项目进行实证评估。我们还对两个开源数据库项目SQLite和PostgreSQL进行了评估,以测试我们的工具的可扩展性,因为嵌入式软件项目的规模大多不大,平均只有5 K-50 K行代码。从我们的实验结果来看,一般来说,商业嵌入式软件中90%以上的函数实现了100%的语句、分支、MC/DC覆盖,SQLite中80%以上的函数实现了100%的MC/DC覆盖,PostgreSQL中60%以上的函数实现了100%的MC/DC覆盖。此外,SmartUnit能够在单元测试级别找到运行时异常。我们还报告了SQLite中的异常,如数组索引越界和被零除。此外,我们还分析了自动化单元测试覆盖率低的原因,并对工业上手工单元测试相对于自动化单元测试的情况进行了调查。
2018-06-17 cs.SE
PyResBugs: A Dataset of Residual Python Bugs for Natural Language-Driven Fault Injection
University of Naples Federico II(那不勒斯费德里科二世大学)
本文提出 PyResBugs 数据集,收集 Python 框架中传统测试未发现但生产环境暴露的残余缺陷,并配以自然语言描述,用于支持自然语言驱动的真实故障注入和 AI 自动化测试研究。
2025-05-09 cs.AI cs.SE
GPT-4.1 Sets the Standard in Automated Experiment Design Using Novel Python Libraries
Copelabs, Lusófona University(Copelabs与卢斯奥法纳大学);Center of Technology and Systems (UNINOVA-CTS) and Associated Lab of Intelligent Systems (LASI)(技术与系统中心(UNINOVA-CTS)及智能系统关联实验室);CICANT, Lusófona University(CICANT与卢斯奥法纳大学)
本文系统基准测试了多种大语言模型在不熟悉Python API下生成复杂实验代码的能力,发现GPT-4.1在两项任务中均达到100%成功率,远超其他模型,揭示了当前模型在科学自动化中的局限性及完善文档与提示设计的必要性。
2025-09-15 cs.AI cs.CL cs.SE
Leveraging Automated Unit Tests for Unsupervised Code Translation
Facebook AI Research(脸书人工智能研究院);Paris-Dauphine University(巴黎第九大学);University College London(伦敦大学学院);Facebook(脸书)
由于程序设计语言几乎没有并行数据,无监督方法非常适合源代码翻译。然而,大多数无监督机器翻译方法依赖于回译,这是在自然语言翻译的背景下开发的一种方法,并且本质上涉及对噪声输入的训练。不幸的是,源代码对微小的变化非常敏感;单个标记可能导致编译失败或错误的程序,这与自然语言不同,在自然语言中,微小的不准确可能不会改变句子的含义。为了解决这个问题,我们建议利用一个自动化的单元测试系统来过滤掉无效的翻译,从而创建一个完全测试的并行语料库。我们发现,使用此过滤数据集对无监督模型进行微调,可以显著降低如此生成的翻译中的噪声,对于所研究的所有语言对,其表现都优于最先进的技术。特别是,对于Java $\to$ Python和Python $\to$ C++,我们的性能分别比以前最好的方法高出16%和24%以上,出错率降低了35%以上。
2022-02-16 cs.CL cs.LG cs.SE
Repairing Bugs in Python Assignments Using Large Language Models
Yale University(耶鲁大学);Microsoft(微软)
作为学习过程的一部分,学生经常在介绍性编程作业中犯错误。不幸的是,为这些错误提供自定义修复可能需要大量的时间和精力,从课堂教师。自动程序修复(APR)技术可用于合成这样的修复。先前的工作已经探索了在教育领域中使用符号和神经技术进行APR。这两种方法都需要大量的工程努力或大量的数据和培训。我们建议使用一个经过代码训练的大语言模型,比如Codex,来构建一个APR系统--MMAPR--用于介绍Python编程作业。我们的系统可以修复语法和语义错误相结合的多模态提示,迭代查询,基于测试用例的选择少数镜头,和程序分块。我们在286个真实的学生程序上评估了MMAPR,并将其与通过结合最先进的Python语法修复引擎BIFI和最先进的Python语义修复引擎Refactory构建的基线进行了比较。我们发现,MMAPR可以修复更多的程序,并产生更小的补丁平均。
2022-09-29 cs.AI cs.SE
PyMT5: multi-mode translation of natural language and Python code with transformers
Microsoft Cloud and AI(微软云和人工智能部门);Stanford University(斯坦福大学)
同时对源代码和自然语言建模在自动化软件开发和理解中有许多令人兴奋的应用。为了实现这种技术,我们引入了PyMT 5,Python方法文本到文本转换Transformer,它被训练为在所有Python方法特征组合之间进行转换:一个单一的模型,既可以从自然语言文档字符串(docstrings)预测整个方法,也可以将代码总结为任何常见风格的docstrings。我们对一个包含2600万个Python方法和770万个方法-文档字符串对的大规模并行语料库进行了分析和建模,结果表明,对于文档字符串和方法生成,PyMT 5的性能优于类似大小的自回归语言模型(GPT 2),后者是英语预训练或随机初始化的。在CodeSearchNet测试集上,我们的最佳模型预测了92.1%的语法正确的方法体,方法生成的BLEU得分为8.59,文档字符串生成(摘要)的BLEU得分为16.3,方法生成的ROUGE-LF得分为24.8,文档字符串生成的ROUGE-LF得分为36.7。
2020-10-07 cs.LG cs.SE
Taming the Beast: Fully Automated Unit Testing with Coyote C++
本文提出 Coyote C++,一个面向 C 和 C++ 的全自动化白盒单元测试工具,结合 concolic 执行引擎与自动化测试套件生成,实现高覆盖率与高速测试,并支持手动优化,使 C++ 自动化测试在工业应用中真正可行。
2024-01-04 cs.PL cs.SE
Leveraging Large Language Models for Command Injection Vulnerability Analysis in Python: An Empirical Study on Popular Open-Source Projects
Louisiana State University(路易斯安那州立大学)
本实证研究针对Python命令注入漏洞检测问题,将GPT-4等大语言模型应用于6个星标超5万的知名开源项目,评估其检测的准确率、效率与 workflow 适配性,对比不同LLM工具的适用性,为利用LLM提升软件安全提供指导。
2025-05-21 cs.AI cs.CR cs.SE
A multi-language toolkit for the semi-automated checking of research outputs
本文介绍开源多语言工具包SACRO,在安全数据环境中半自动化检查研究产出的隐私披露,通过轻量级Python包辅助人工检查员应用统计披露控制技术,提升审核效率与可审计性。
2025-04-29 cs.CR cs.IR cs.SE
EnvBench: A Benchmark for Automated Environment Setup
JetBrains Research(JetBrains研究院)
本文提出 EnvBench 基准,涵盖 994 个具有真实配置挑战的 Python 与 JVM 仓库,并以静态分析和编译检查自动评估多种 LLM 方法,结果显示当前环境配置成功率仍很低。
2025-03-18 cs.LG cs.SE
Coyote C++: An Industrial-Strength Fully Automated Unit Testing Tool
本文介绍了Coyote C++,一款基于混合符号执行的工业级C和C++全自动化单元测试工具,它无需用户参与即可一键完成测试生成与执行,持续达到约90%的代码覆盖率。
2023-10-23 cs.PL cs.SE
SpecPylot: Python Specification Generation using Large Language Models
Texas State University(德克萨斯州立大学)
SpecPylot利用大语言模型生成Python程序的可执行规范,通过交叉hair符号执行验证,生成合同并支持覆盖率驱动的pytest stubs,但受限于符号探索的界限和LLM行为差异。
2026-04-17 cs.AI cs.ET cs.SE
Code Broker: A Multi-Agent System for Automated Code Quality Assessment
Independent researcher(独立研究者);California, USA(美国加州)
Code Broker通过多智能体架构对Python代码进行分析并生成质量评估报告,结合LLM推理与静态分析工具,提升代码审查的效率与准确性。
2026-04-25 cs.AI cs.CL cs.PL