EsoLang-Bench: Evaluating Genuine Reasoning in Large Language Models via Esoteric Programming Languages
Lossfunk
EsoLang-Bench通过五种奇特编程语言评估大语言模型在分布外编程语言上的推理能力,发现前沿模型在处理陌生语言时存在显著能力差距。
2026-05-11 cs.AI cs.LG cs.SE
Can Programming Languages Boost Each Other via Instruction Tuning?
Institute of Software, Chinese Academy of Science(中国科学院软件研究所);Peking University(北京大学);Huawei Co., Ltd.(华为技术有限公司)
本研究通过指令微调实验,发现编程语言间可相互促进,如Python训练的模型提升Java的pass@1达17.95%,HTML训练模型提升Java达15.24%,并公开了训练数据。
2023-09-03 cs.AI cs.CL cs.PL
AI Coders Are Among Us: Rethinking Programming Language Grammar Towards Efficient Code Generation
Singapore Management University(新加坡管理大学);Monash University(莫纳什大学);Beihang University(北京航空航天大学)
本研究针对现有编程语言语法适配人类阅读却增加LLM计算负担的问题,提出面向AI的语法概念,开发了首个Python的AI导向语法SimPy,可在保持甚至提升模型性能的同时显著减少token用量。
2024-08-14 cs.AI cs.PL cs.SE
Enhancing Computer Programming Education with LLMs: A Study on Effective Prompt Engineering for Python Code Generation
Mercy University(梅西大学);IBM Research(IBM研究院)
本文研究面向 Python 代码生成的提示工程策略,通过多模型、多数据集实验验证定制化提示可提升 LLM 编程教学效果,并提出分类与评估框架。
2024-07-07 cs.AI
PythonSaga: Redefining the Benchmark to Evaluate Code Generating LLMs
IIT Gandhinagar(印度理工学院甘地讷格尔分校)
针对现有Python代码生成基准存在概念覆盖偏差和简单任务过多的问题,本文提出包含185个提示、均衡覆盖38个编程概念的新基准PythonSaga,并通过现有代码LLMs的较差表现验证了其稳健性。
2024-07-04 cs.AI cs.CL
EnCompass: Enhancing Agent Programming with Search Over Program Execution Paths
Asari AI;MIT CSAIL(麻省理工学院计算机科学与人工智能实验室);Caltech CMS(加州理工学院 CMS)
EnCompass通过解耦智能体工作流逻辑与推理策略,提供一种基于Python的框架,允许快速提升智能体可靠性并灵活切换推理策略。
2025-12-03 cs.AI cs.LG cs.PL
AI-Driven Code Refactoring: Using Graph Neural Networks to Enhance Software Maintainability
Campbellsville university(坎贝尔斯维尔大学)
本研究探索将图神经网络(GNNs)用于代码重构以提升软件可维护性,通过分析大规模数据集并与现有方法对比,GNNs在准确率、复杂度和耦合度优化上表现更优,为软件工程提供了可扩展的AI驱动方案。
2025-04-14 cs.AI cs.LG cs.SE
PreMaQ: Predicting Maintainability-Related Quality of LLM-Generated Code Before Generation
Kyushu University(九州大学);The University of Osaka(大阪大学)
本文提出PreMaQ,利用LLM内部表示在代码生成前预测其可维护性质量(CSS和MI),在16个模型-基准组合上验证有效性,并用于模型选择以提升可维护性质量。
2026-10-08 cs.SE
Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects
夸大或上下文的变化会使维护性经验变得有偏见。例如,JavaScript通常被视为最不优雅的语言,因此可维护性最低。这种偏见不应在事先没有经验验证的情况下指导决策。我们基于偏见制定了10个关于可维护性的假设,并在大量开源项目(6,897个GitHub存储库,4.02亿行,5种程序设计语言)中进行了测试。我们用五个静态分析度量来操作可维护性。我们发现,JavaScript代码并不比其他代码差,Java代码比C#代码具有更高的可维护性,C代码比其他代码具有更长的方法。Java代码中的接口文档的质量比其他代码中的要好。由团队开发的代码并不具有更高和更大的代码库,也不具有更低的可维护性。具有高可维护性的项目并不更受欢迎或更经常分叉。总体而言,大多数假设没有得到开放源数据的支持。
2018-06-12 cs.PL cs.SE
Aspect-Oriented Programming in Secure Software Development: A Case Study of Security Aspects in Web Applications
本研究通过案例对比,证明面向切面编程(AOP)能模块化安全关注点,提升Web应用中安全机制的模块化、可重用性和可维护性,且性能开销极小。
2025-09-09 cs.SE
Needle in the Repo: A Benchmark for Maintainability in AI-Generated Repository Edits
UC Riverside(加州大学河滨分校);Independent Researcher(独立研究员);Tulane University(杜兰大学)
本文提出NITR基准测试,评估AI生成代码是否保持可维护结构,发现现有系统在复杂架构修改上表现不佳,代理模式提升性能但未解决根本问题。
2026-03-29 cs.AI cs.SE
How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries
本研究针对三个PyPI库的3003个文件开展探索性分析,探究Python代码熟练度与可维护性的关系,发现多数熟练代码维护风险低,但部分熟练写法存在高风险,可帮助开发者规避相关维护问题。
2024-10-10 cs.SE
Duplicated Code Pattern Mining in Visual Programming Languages
可视化程序设计语言(VPL),加上可视化编程环境中常见的高级抽象,使技术知识较少的用户能够成为熟练的程序员。然而,VPL所需的较低技能水平也意味着程序员更有可能不遵守软件开发的最佳实践,从而产生具有高技术债务的系统,因此可维护性较差。重复的代码是这种技术债务的一个重要例子。事实上,我们观察到OutSystems VPL代码库中的重复数量可以高达$39\%$。基于文本的程序设计语言中的重复代码检测仍然是一个活跃的研究领域,对软件的可维护性和演化具有重要意义。然而,据我们所知,文献中的重复代码检测的VPL是非常有限的。我们提出了一种新的和可扩展的重复代码模式挖掘算法,利用视觉结构的VPL,以便不仅检测重复的代码,但也突出重复的代码模式,解释报告的重复。所提出的方法的性能进行评估,在广泛的现实世界中的移动和Web应用程序开发使用OutSystems。
2021-07-15 cs.SE
Unveiling Code Clones in Quantum Programming: An Empirical Study with Qiskit
本文实证研究 Qiskit 量子程序中的代码克隆,发现 Type-2 与 Type-3 克隆密度高,并指出需开发面向量子领域的检测与重构工具。
2025-01-11 cs.SE quant-ph
A Taxonomy of Inefficiencies in LLM-Generated Python Code
本研究实证分析了CodeLlama等模型生成的492个代码片段,构建了包含5个类别和19个子类别的LLM生成代码低效性分类体系,并通过58名从业者验证,发现逻辑与性能低效性最普遍且影响整体质量,为代码生成优化提供了结构化基础。
2025-08-10 cs.SE
An Analysis of Python's Topics, Trends, and Technologies Through Mining Stack Overflow Discussions
Python是一种流行的、广泛使用的通用程序设计语言。尽管其社区不断增长,但研究人员并没有对Python的主题,趋势和技术进行太多分析,从而为开发人员提供有关Python社区趋势和主要问题的见解。在本文中,我们研究了开发人员在最受欢迎的Q\&A网站之一Stack Overflow上讨论的与这种语言相关的主要主题,以及通过挖掘2461876个帖子的时间趋势。为了对软件工程师更有用,我们研究了Python提供的替代常见程序设计语言(如Java)提供的流行技术的方法。我们的研究结果表明,关于Python标准功能,Web编程和科学编程的讨论。数学、数据科学、统计学、机器学习、自然语言处理(NLP)等领域的编程。是Python社区中最受欢迎的领域。与此同时,与科学编程相关的领域正越来越受到Python开发人员的关注。
2020-04-14 cs.SE
An Exploratory Study on the Predominant Programming Paradigms in Python Code
Python是一种多范式程序设计语言,完全支持面向对象(OO)编程。该语言允许以非过程的命令式方式编写代码,使用过程,使用类或函数式风格。到目前为止,还没有人研究过在Python代码和项目中占主导地位的范式(如果有的话)。在这项工作中,我们首先定义了一种将Python文件分类为主要范式的技术。然后,我们自动化我们的方法,并根据人类的判断进行评估,显示出超过80%的一致性。然后,我们分析了超过10万个开源Python项目,自动分类每个源文件,并调查范式分布。结果表明Python开发人员倾向于非常青睐OO特性。我们还观察到一个正相关的OO和程序范式和项目的大小。尽管很少有文件或项目主要是功能性的,但我们仍然发现了许多功能性功能的使用。
2022-09-05 cs.SE
Precision or Peril: A PoC of Python Code Quality from Quantized Large Language Models
Boise State University(博伊西州立大学);University of Tennessee(田纳西大学)
研究探讨了小型LLM的代码生成性能及量化影响,发现生成代码存在质量和可维护性问题,强调在软件项目中需谨慎验证LLM生成的代码。
2026-04-03 cs.SE
On Refactoring Quantum Programs
本文针对量子编程缺乏专门重构技术的问题,提出了一套为量子程序设计的全面重构方法集,并强调工具支持的重要性,该方法适用于多种量子编程语言,以提高量子软件的可维护性和效率。
2023-06-18 cs.PL cs.SE quant-ph
GUPPY: Pythonic Quantum-Classical Programming
Quantinuum
本文介绍 Guppy,一种嵌入 Python 的领域特定语言,用于以 Pythonic 语法编写高级混合量子程序,支持复杂控制流,并可在真实量子硬件上运行。
2025-10-14 cs.PL cs.SE quant-ph
It's Like Python But: Towards Supporting Transfer of Programming Language Knowledge
传统上,编程的专业知识假定了新手和专家的二元划分。学习资源通常针对第一次学习编程的程序员,或该语言的专家程序员。一个代表性不足但重要的程序员群体是那些在一种程序设计语言方面有经验,但希望用不同语言编写代码的人。对于这种情况下,我们假设,一个有效的反馈形式是作为一个从第一语言的概念转移到第二。当前的编程环境不支持这种形式的反馈。在这项研究中,我们应用学习迁移理论来教授程序员不太熟悉的语言-例如R-他们已经知道的程序设计语言-例如Python。我们使用一种名为Transfer Tutor的新工具来研究学习迁移,该工具以等效的Python代码来解释R代码。我们的研究发现,参与者利用学习迁移作为一种认知策略,即使是在未经提示的情况下。参与者发现Transfer Tutor在许多启示方面都很有用,比如逐步了解和强调可能被遗漏或误解的事实。然而,参与者不愿意在没有代码执行的情况下接受事实,或者有时难以阅读冗长或复杂的解释。这些结果为未来的设计和研究方向提供了指导,可以支持学习新的程序设计语言时的学习迁移。
2018-08-27 cs.SE
Practical programming research of Linear DML model based on the simplest Python code: From the standpoint of novice researchers
QUT(昆士兰科技大学)
本文用最简Python代码在Jupyter notebook中实现并比较线性DML模型,发现当前库API不足以支持新手构建高质量模型,且存在结果变量维度不匹配问题。
2025-02-22 cs.LG cs.SE
Analyzing programming languages by community characteristics on Github and StackOverflow
选择程序设计语言是一个非常重要的决定,因为它不仅影响软件的性能和可维护性,而且还决定了可用的人才库和社区支持。为了更好地理解做出这样的决定所涉及的权衡,我们通过在线协作平台定义和计算程序设计语言的流行度、需求、可用性和社区参与度。我们使用来自Github和StackOverflow的数据进行分析,这是两个最受欢迎的编程社区。我们从Github获得与项目,语言和开发人员参与相关的数据,并从StackOverflow获得编程问题和答案以及语言标签。我们分别为两个数据源计算指标,然后将指标结合起来,为最流行的程序设计语言提供一个全面而强大的社区。
2020-06-02 cs.SE
Functional Programming Paradigm of Python for Scientific Computation Pipeline Integration
Shenzhen United Imaging Research Institute of Innovative Medical Equipment(深圳联合创新医疗设备研究院);United Imaging Healthcare Inc.(联影医疗);Institute for Medical Imaging Technology, Shanghai Jiao Tong University School of Medicine, United Imaging Healthcare(上海交通大学医学院医学影像技术研究所、联影医疗)
本文提出了一种基于Python架构的函数式编程范式,旨在通过统一的数据控制系统集成不同的数据映射操作库与科学计算流,以加速原型验证、优化算法性能并降低维护成本。
2024-06-03 cs.AI cs.CE cs.LG
Phyelds: A Pythonic Framework for Aggregate Computing
University of Bologna(博洛尼亚大学)
本文提出Phyelds,一个针对数据科学实践者的Python库,旨在整合机器学习与聚合计算,提供轻量级的字段 calculus 模型实现,支持联邦学习和多智能体强化学习。
2026-03-31 cs.AI cs.PL cs.SE
Quality and Security Signals in AI-Generated Python Refactoring Pull Requests
University of Michigan-Flint(密歇根大学弗林特分校);University of Michigan-Dearborn(密歇根大学戴尔本分校)
本研究通过分析AIDev数据集中的Python重构拉取请求,探讨了AI生成代码对代码质量和安全性的影响,发现AI提交在22.5%的案例中提升了质量属性,但同时也引入了新的代码问题,提出了24种重构操作的分类和安全门控的重要性。
2026-05-20 cs.AI cs.SE
Error Identification Strategies for Python Jupyter Notebooks
计算型笔记本--如Quixyter或Colab --结合了文本和数据分析代码。它们在数据科学和探索性数据分析的世界中无处不在。由于这些笔记本提供了与传统IDE驱动编程不同的编程范式,因此计算笔记本中的调试也可能不同。更具体地说,由于创建笔记本混合了领域知识、统计分析和编程,因此笔记本用户在这些不同形式中查找和修复错误的方式可能会有所不同。在本文中,我们提出了一个探索性的,观察性的研究,关于Python的笔记本用户如何发现和理解笔记本中的潜在错误。通过研究R notebook用户的错误识别策略的研究设计的概念复制,我们向用户提供了预先填充了常见笔记本错误的Python PythonYter笔记本-错误根源于统计数据分析,领域概念知识或编程。然后,我们分析了研究参与者用来发现这些错误的策略,并确定了每种策略在识别错误方面的成功程度。我们的研究结果表明,虽然笔记本电脑的编程环境是不同的环境用于传统的编程,调试策略仍然非常相似。我们希望本文中提出的见解能够帮助笔记本工具设计者和教育工作者做出改变,以改善数据科学家如何更容易地发现他们编写的笔记本中的错误。
2022-04-07 cs.SE
Generating Python Code From Object-Z Specifications
Object-Z是一种面向对象的规约语言,它用类、对象、继承和多态性扩展了Z语言,可用于将复杂系统的规约表示为对象的集合。有许多现有的作品将Object-Z映射到C++和Java程序设计语言。由于Python和Object-Z有许多相似之处,都是面向对象的范型,支持集合论和谓词演算,而且Python是一种函数式程序设计语言,自然更接近于形式化规范,因此我们提出了一种从Object-Z规范到Python代码的映射,该映射涵盖了Object-Z的一些结构,并将其规范用Python表示,以验证这些规范。验证用于映射覆盖的前置条件,后置条件和使用lambda函数和Python的装饰器构建的不变量。这项工作发现Python是一种优秀的语言,用于开发库以将Object-Z规范映射到Python。
2018-02-17 cs.SE
Hints Help Finding and Fixing Bugs Differently in Python and Text-based Program Representations
本研究通过753人众包实验发现,提示类型和程序表示(Python与文本)显著影响用户发现和修复错误的准确性,文本表示更有利,提示效果因用户理解而异,为个性化编程工具设计提供启示。
2024-12-17 cs.SE
DockerizeMe: Automatic Inference of Environment Dependencies for Python Code Snippets
像Stack Overflow和GitHub的gist系统这样的平台通过分发旨在说明特定任务的代码片段来促进思想和编程技术的共享。Python是一种流行且快速增长的程序设计语言,在这两个网站上都有大量使用,在Stack Overflow上有近100万个问题,在GitHub上有40万个公共gist。不幸的是,通过这些网站共享的Python示例代码中,大约75%不能直接执行。当在干净的环境中运行时,超过50%的公共Python gist由于缺少库的导入错误而失败。我们提出了DockerizeMe,一种用于推断执行Python代码片段所需的依赖关系而不会发生导入错误的技术。DockerizeMe首先从Python包索引(PyPI)中获取流行Python包的资源和依赖项的离线知识获取。然后,它使用基于图的推理过程构建Docker规范。我们的推理过程解决了Gistable数据集中近3,000个gistable中的892个导入错误,Gistable的基线方法无法找到并安装所有依赖项。
2019-05-27 cs.SE
Code Health in LLM-Based Test Generation: Effectiveness and Token Efficiency
Heidelberg University(海德堡大学);CodeScene;Lund University(隆德大学)
本研究探究LLM生成单元测试的有效性随CodeScene的CodeHealth水平的变化,发现CH是测试有效性的微弱但一致信号,且与输入标记数负相关,证实可维护性与LLM软件开发存在关联。
2026-08-20 cs.SE
LangChoiceBench: Measuring and Explaining Programming-Language Choice in LLMs
King’s College London(伦敦国王学院);MATS Research(MATS研究院)
本研究推出LangChoiceBench基准,评估25种LLMs的代码语言选择,发现其普遍过度选择Python、一致性低,小开放模型偏好更强,还揭示了模型的虚假证据等失败模式。
2026-08-07 cs.CL cs.SE
Comprehending Python Repetition Structures: An Eye-Tracking Study with Novice Developers
Federal University of Campina Grande(坎皮纳格兰德联邦大学);State University of Paraíba(帕拉伊巴州立大学);Federal University of Alagoas(阿拉戈阿斯联邦大学)
本研究通过眼动实验对比Python的for循环、while循环、递归、列表推导式的理解难度,发现不同重复结构视觉投入模式不同,为代码可读性等提供过程层面证据。
2026-08-11 cs.SE
AmPyfier: Test Amplification in Python
测试放大是一种将手写测试扩展为更严格的测试套件的方法,该测试套件覆盖了被测系统中的角案例。不幸的是,目前的测试放大技术严重依赖于程序分析技术,这些技术从静态类型语言(如Java和C++)中的显式类型声明中受益匪浅。在动态类型语言中,这种类型声明是不可用的,因此测试放大还没有找到适合程序设计语言(如Python、Ruby和JavaScript)的方法。在本文中,我们提出了AmPyfier,一个概念验证工具,它带来了测试放大的动态类型,解释语言Python。我们在7个开源项目上评估了这种方法,发现AmPyfier可以成功地增强10个测试类中的7个(70%)。因此,我们证明,测试放大是可行的最流行的程序设计语言在今天使用的。
2021-12-21 cs.SE
LLMs as Compiler for Arabic Programming Language
Prince Sultan University(苏丹王子大学)
本文提出 APL(阿拉伯语编程语言),利用 LLM 作为半编译器将阿拉伯语文本代码转换为 python 代码并运行,设计了包含提示工程和 PyRunner 的完整流水线,并提供了 python 库、游乐场和研究论文三部分。
2024-03-24 cs.CL cs.LG cs.SE
Software Cloning in Extreme Programming Environment
随着时间的推移,软件系统通过添加新功能和修改现有功能而不断发展。随着软件的演化,软件的结构变得越来越复杂,软件系统的可理解性和可维护性也日益恶化。这些不仅重要,而且是软件开发中最昂贵的活动之一。重构经常被应用到软件中来改进它们。重构的目标之一是限制代码克隆,因为它阻碍了软件维护并影响其质量。为了应对不断的变化,重构被视为极限编程的重要组成部分。敏捷方法将重构作为重要的关键实践,是开发无克隆代码的首选。本文总结了我对软件克隆分析的概述。首先讨论了代码克隆的概念、类型、产生原因、后果和分析。重点介绍了极限编程环境下的代码克隆,并指出克隆检测是重构的有效工具。
2014-08-21 cs.SE
An Empirical Study of Automated Unit Test Generation for Python
对于诸如Java之类的静态类型程序设计语言,存在各种成熟的自动化测试生成工具。然而,由于Python等动态类型化程序设计语言的动态特性以及类型信息的缺乏,自动生成这些语言的单元测试要困难得多。我们的Pynguin框架为Python提供了自动化的单元测试生成。在本文中,我们扩展了我们以前在Pynguin上的工作,以支持Python语言的更多方面,并通过研究各种成熟的最先进的测试生成算法,即DynaMOSA,MIO和MOSA。此外,我们改进了Pynguin工具来生成回归断言,我们还评估了其质量。我们的实验证实,进化算法在Python环境中也可以优于随机测试生成,与Java世界类似,DynaMOSA产生最高的覆盖率结果。然而,我们的结果也表明,仍然存在一些基本的遗留问题,例如在没有这些信息的情况下推断代码的类型信息,目前限制了Python测试生成的有效性。
2022-07-17 cs.SE
Gistable: Evaluating the Executability of Python Code Snippets on GitHub
软件开发人员在线创建和共享代码,以演示程序设计语言概念和编程任务。代码段是解释和演示编程概念的有用方法,但可能并不总是直接可执行的。代码段可能包含分析错误,或者在环境包含未满足的依赖项时无法执行。本文对通过GitHub gist系统共享的Python代码片段的可执行状态以及熟悉软件配置的开发人员正确配置和运行它们的能力进行了实证分析。我们发现,75.6%的GIST需要非平凡的配置,以克服缺少的依赖关系,配置文件,依赖于特定的操作系统,或其他一些环境配置。我们的研究还表明,开发人员在解决配置错误时对资源名称的自然假设只有不到一半的正确率。我们还介绍了Gistable,一个建立在GitHub的gist系统上的数据库和可扩展框架,它提供了可执行的代码片段,以便在软件工程中进行可重复的研究。Gistable包含10,259个代码片段,其中大约5,000个带有Dockerfile,用于配置和执行它们而不会发生导入错误。Gistable可在https://github.com/gistable/gistable上公开获取。
2018-08-14 cs.SE
AVATAR: A Parallel Corpus for Java-Python Program Translation
University of California, Los Angeles(加州大学洛杉矶分校);Columbia University(哥伦比亚大学)
针对程序翻译平行语料缺失的问题,研究者构建了含9515组Java-Python对应代码及250组单元测试的AVATAR平行语料库,基准测试显示现有预训练语言模型生成功能准确代码的能力仍有欠缺。
2023-05-04 cs.CL cs.SE
Beyond Functional Correctness: Static Code Quality Profiling of LLM-Generated Code
The University of Queensland(昆士兰大学);Texas A&M University–Kingsville(德克萨斯农工大学金斯维尔分校);Central Queensland University(中昆士兰大学)
本文针对大语言模型生成的Python代码开展大规模静态质量分析,借助Pylint等工具评估可维护性与可靠性,发现不同模型间存在功能正确性无法捕捉的系统性差异,推动了更全面的代码评估框架发展。
2026-10-13 cs.SE
SmellCC: A Tool for Automated Code Smells Remediation
Zhejiang University(浙江大学)
SmellCC是一款Visual Studio Code扩展,结合SonarQube与LLM流水线,采用思维链和少样本学习,可一键修复Python前10种常见代码异味,清洁率96.8%、准确率91.3%,能提升软件可维护性。
2026-08-11 cs.SE
Rust vs. C for Python Libraries: Evaluating Rust-Compatible Bindings Toolchains
本研究评估了Rust的PyO3 Python绑定工具链与ctypes和cffi的性能及易用性,发现其能实现最先进性能且无需担心API兼容性。
2025-06-30 cs.DC cs.PF cs.PL
The Reproducibility of Programming-Related Issues in Stack Overflow Questions
软件开发人员经常使用Stack Overflow Q&A网站寻找代码级问题的解决方案。为了获得帮助,开发人员经常提交包含示例代码段和编程问题描述的问题。不幸的是,并不总是能够从代码段中重现问题,这可能会阻碍问题得到及时和适当的解决方案。我们对400个Java和400个Python问题中讨论的问题的可重复性进行了探索性研究。我们解析、编译、执行并仔细检查了这些问题中的代码段,以重现报告的编程问题。我们的研究成果有三个方面。首先,我们发现我们可以重现大约68%的Java和71%的Python问题,而我们无法使用代码段重现大约22%的Java和19%的Python问题。在可重现的问题中,大约67%的Java代码段和20%的Python代码段需要进行轻微或重大修改才能重现这些问题。其次,我们仔细研究了为什么编程问题不能被复制,并提供了基于证据的指导方针,为Stack Overflow问题编写有效的代码示例。第三,我们调查了问题的问题再现性状态和相应的答案元数据之间的相关性,例如接受答案的存在。根据我们的分析,一个可重复的问题比一个不可重复的问题至少有两倍的机会得到一个可接受的答案。此外,如果问题中报告的问题无法复制,收到已接受的答复的中位时间延迟将增加一倍。我们还调查了混杂因素(例如,声誉),并发现混杂因素不会损害再现性状态和回答元数据之间的相关性。
2021-12-25 cs.SE
A Domain-Specific Language for Programming in the Tile Assembly Model
我们介绍了一个特定于域的语言(DSL)创建组的瓷砖类型的模拟抽象瓷砖组装模型。该语言定义了被称为瓦片模板的对象,这些对象表示相关的瓦片组,以及瓦片模板上的少量基本操作,这些操作有助于消除手动枚举此类瓦片类型或使用通用程序设计语言的低级构造的容易出错的苦差事。该语言在Python中实现为类库(所谓的内部DSL),但独立于Python或面向对象编程,重点是支持创建可视化编辑工具,用于以编程方式创建大量复杂的tile类型,而无需编写程序。
2009-03-05 cs.PL cs.SE
pycefr: Python Competency Level through Code Analysis
Python被认为是一种多功能语言,非常适合初学者和高级用户。语言中的某些元素比其他元素更容易理解:有些可以在任何类型的代码中找到,而另一些则只能由有经验的程序员使用。这些元素的使用导致不同的方式来编码,这取决于经验的语言和知识的元素,一般的编程能力和编程技能等,在本文中,我们提出了pycefr,一个工具,检测使用的不同元素的Python语言,有效地衡量水平的Python熟练程度所需的理解和处理的一个片段的Python代码。遵循广为人知的欧洲通用语言参考框架(CEFR),广泛用于自然语言,pycefr根据创建和理解Python代码所需的熟练程度将Python代码分为六个级别。我们还讨论了pycefr的不同用例:识别具有一定熟练度的开发人员可以理解的代码片段,在Stackoverflow和GitHub等在线资源中标记代码示例,以使其符合一定的能力水平,帮助开源软件项目中的新开发人员入职流程等https://tinyurl.com/ypdt3fwe。
2022-03-30 cs.SE
Automated Unit Test Generation for Python
自动化单元测试生成是一个已建立的研究领域,并且成熟的测试生成工具存在于诸如Java的静态类型化程序设计语言中。然而,由于缺乏类型信息和语言的动态特性,为动态类型的程序设计语言(如Python)自动生成支持测试要困难得多。在本文中,我们描述了一个尝试到动态类型语言的单元测试生成问题。我们介绍Pynguin,一个Python的自动化单元测试生成框架。使用Pynguin,我们的目标是从经验上阐明两个核心问题:(1)建立良好的基于搜索的测试生成方法,以前只评估静态类型的语言,推广到动态类型的语言?(2)不完全类型信息和动态类型对自动化测试生成问题有什么影响?我们的实验证实,进化算法在Python环境中也可以优于随机测试生成,甚至可以在一定程度上缓解缺少类型信息的问题。然而,我们的研究结果表明,动态类型仍然提出了一个根本性的问题,测试生成,建议未来的工作集成类型推断。
2020-07-28 cs.SE
Refining ChatGPT-Generated Code: Characterizing and Mitigating Code Quality Issues
本研究系统分析ChatGPT生成的4066份Java/Python代码的质量,识别出正确性、可维护性等问题,验证其自我修复可提效超20%,为优化AI代码生成能力提供参考。
2023-12-15 cs.SE
Benchmarking Web-testing - Selenium versus Watir and the Choice of Programming Language and Browser
Selenium被认为是最流行的软件测试自动化工具。过去的学术著作主要忽视了测试工具,而倾向于更多的方法论主题。目的:我们研究了Web测试工具的性能,为软件测试工具的选择和配置提供经验证据。方法:我们使用4*5析因设计来研究20种不同的配置来测试网络商店。我们研究了5种程序设计语言绑定(C#,Java,Python和Ruby for Selenium,而Watir仅支持Ruby)和4种浏览器(Google Chrome,Internet Explorer,Mozilla Firefox和Opera)。性能通过执行时间、内存使用、测试脚本的长度和测试的稳定性来衡量。结果:考虑到所有措施,最佳配置是Selenium与Chrome的Python语言绑定。Selenium与Python绑定是所有浏览器的最佳选择。最慢和最快配置之间差异的效应量非常高(Cohens d=41.5,执行时间增加91%)。总体而言,Internet Explorer是最快的浏览器,但在稳定性方面表现最差。结论:我们建议在采用基准测试工具之前使用它们。因素的权重,例如,为了更快的性能愿意牺牲多少测试稳定性,会影响决策。
2016-11-02 cs.SE
Excel Spreadsheet Analyzer
在各种领域中,广泛使用单块来进行大型数值分析。虽然有几家公司几十年来一直依赖电子表格,但由于支持,社区和大量的库,数据科学家正在朝着使用科学程序设计语言(如python)进行数据分析的方向发展。在使用python分析公司的电子表格时,一些信息(如公式和单元格的依赖关系)会丢失。我们提出了一个工具,创建一个抽象的中间表示(AIR)的电子表格。这种表示有助于从电子表格转换为科学程序设计语言,同时保留有关数据的相互依赖性信息。除此之外,我们在我们的工具之上构建了一个Python库,以便在Python中执行一些数据分析。
2022-11-01 cs.PL cs.SE
Enhancing Python Programming Education with an AI-Powered Code Helper: Design, Implementation, and Impact
本研究提出一种结合静态分析、动态跟踪和LLM的AI聊天机器人,帮助Python学习,实验显示错误解决率达85%,调试时间减少59.3%,编码熟练度提升34%。
2025-09-24 cs.PL cs.SE
Developing a High-Performance Process Mining Library with Java and Python Bindings in Rust
本文提出用 Rust 构建共享过程挖掘库,并提供 Java 与 Python 绑定,以在保证内存安全的同时获得高性能并融入 ProM、PM4Py 生态。
2024-01-25 cs.SE
SafePyScript: A Web-Based Solution for Machine Learning-Driven Vulnerability Detection in Python
针对当前缺乏易用的Python源代码机器学习漏洞检测Web工具的问题,研究提出了SafePyScript这款专门的Web应用,填补了相关空白,可帮助Python开发者保障应用安全。
2024-11-01 cs.SE
Tangent: Automatic differentiation using source-code transformation for dynamically typed array programming
MILA(蒙特利尔学习算法研究所);Google Brain(谷歌大脑)
高效计算Python中表达的日益复杂的模型的一阶和高阶导数的需求已经强调或超过了可用工具的能力。在这项工作中,我们探索的技术领域的自动微分(AD),可以给研究人员的表达能力,性能和强大的可用性。这些包括源代码转换(SCT),灵活的梯度手术,有效的就地阵列操作,高阶导数以及正向和反向模式AD的混合。我们实现和展示这些想法的切线软件库的Python,第一个AD框架的动态语言,使用SCT。
2018-09-26 cs.LG cs.SE stat.ML
Comparative analysis of large data processing in Apache Spark using Java, Python and Scala
Ternopil Ivan Puluj National Technical University(特诺皮尔伊万普鲁日国立技术大学);Rochester Institute of Technology(罗切斯特理工学院);Institute of Telecommunications and Global Information Space of the National Academy of Sciences of Ukraine(乌克兰国家科学院电信与全球信息空间研究所)
本研究基于Apache Spark与Apache Iceberg,对比Java、Python、Scala处理不同规模及复杂度数据的ETL性能,发现小数据量下Python更快,大数据量及复杂操作中Scala、Java更高效,可为数据处理流程优化提供参考。
2025-10-21 cs.DB cs.DC cs.PL