中文
相关论文

相关论文: Improving Prolog Programs: Refactoring for Prolog

200 篇论文

Procedural computer languages have long been used in many aspects of mathematics pedagogy. In this work, we examine the use of Prolog, a declarative language for the same purpose. We find the facts+rules aspect of Prolog to be a novel…

计算机与社会 · 计算机科学 2021-08-24 Tom Bensky

Refactoring is an important activity that is frequently performed in software development, and among them, Extract Method is known to be one of the most frequently performed refactorings. The existing techniques for recommending Extract…

软件工程 · 计算机科学 2021-08-31 Jinto Yamanaka , Yasuhiro Hayase , Toshiyuki Amagasa

ProbLog is a state-of-art combination of logic programming and probabilities; in particular ProbLog offers parameter learning through a variant of the EM algorithm. However, the resulting learning algorithm is rather slow, even when the…

人工智能 · 计算机科学 2017-08-03 Francisco H. O. V. de Faria , Arthur C. Gusmão , Fabio G. Cozman , Denis D. Mauá

Context. Refactoring has been widely investigated in the past in relation to production code quality, yet still little is known on how developers apply refactoring on test code. Specifically, there is still a lack of investigation into how…

软件工程 · 计算机科学 2023-08-21 Luana Martins , Valeria Pontillo , Heitor Costa , Filomena Ferrucci , Fabio Palomba , Ivan Machado

Refactoring is the process of restructuring existing code without changing its external behavior while improving its internal structure. Refactoring engines are integral components of modern Integrated Development Environments (IDEs) and…

软件工程 · 计算机科学 2025-07-10 Haibo Wang , Zhuolin Xu , Shin Hwei Tan

Refactorings are structured changes to existing software that leave its externally observable behaviour unchanged. Their intent is to improve readability, performance or other non-behavioural properties. State-of-the-art automatic…

编程语言 · 计算机科学 2017-12-21 Cristina David , Pascal Kesseli , Daniel Kroening

In order to achieve competitive performance, abstract machines for Prolog and related languages end up being large and intricate, and incorporate sophisticated optimizations, both at the design and at the implementation levels. At the same…

编程语言 · 计算机科学 2020-02-19 Jose F. Morales , Manuel Carro , Manuel Hermenegildo

Understanding the practice of refactoring documentation is of paramount importance in academia and industry. Issue tracking systems are used by most software projects enabling developers, quality assurance, managers, and users to submit…

软件工程 · 计算机科学 2022-03-22 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

Generating high-quality code that solves complex programming tasks is challenging, especially with current decoder-based models that produce highly stochastic outputs. In code generation, even minor errors can easily break the entire…

计算与语言 · 计算机科学 2025-04-15 Nikita Sorokin , Ivan Sedykh , Valentin Malykh

The most important way to achieve higher performance in computer systems is through heterogeneous computing, i.e., by adopting hardware platforms containing more than one type of processor, such as CPUs, GPUs, and FPGAs. Several types of…

软件工程 · 计算机科学 2020-05-19 Hugo Andrade , Ivica Crnkovic , Jan Bosch

Agentic coding tools, such as OpenAI Codex, Claude Code, and Cursor, are transforming the software engineering landscape. These AI-powered systems function as autonomous teammates capable of planning and executing complex development tasks.…

软件工程 · 计算机科学 2025-11-10 Kosei Horikawa , Hao Li , Yutaro Kashiwa , Bram Adams , Hajimu Iida , Ahmed E. Hassan

Directives for the compiler such as pragmas can help programmers to separate an algorithm's semantics from its optimization. This keeps the code understandable and easier to optimize for different platforms. Simple transformations such as…

编程语言 · 计算机科学 2018-11-05 Michael Kruse , Hal Finkel

Program obfuscation is an important software protection technique that prevents attackers from revealing the programming logic and design of the software. We introduce translingual obfuscation, a new software obfuscation scheme which makes…

密码学与安全 · 计算机科学 2016-01-13 Pei Wang , Shuai Wang , Jiang Ming , Yufei Jiang , Dinghao Wu

Code refactoring is widely recognized as an essential software engineering practice to improve the understandability and maintainability of the source code. The Extract Method refactoring is considered as "Swiss army knife" of refactorings,…

软件工程 · 计算机科学 2023-12-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

Existing reinforcement learning strategies based on outcome supervision have proven effective in enhancing the performance of large language models(LLMs) for code generation. While reinforcement learning based on process supervision has…

软件工程 · 计算机科学 2025-02-05 Yufan Ye , Ting Zhang , Wenbin Jiang , Hua Huang

We describe an application of Prolog: a type checking tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a…

编程语言 · 计算机科学 2011-12-19 János Csorba , Zsolt Zombori , Péter Szeredi

Visual Programming has recently emerged as an alternative to end-to-end black-box visual reasoning models. This type of method leverages Large Language Models (LLMs) to generate the source code for an executable computer program that solves…

计算机视觉与模式识别 · 计算机科学 2024-07-24 Jaywon Koo , Ziyan Yang , Paola Cascante-Bonilla , Baishakhi Ray , Vicente Ordonez

To appear in Theory and Practice of Logic Programming (TPLP), 2008. We are researching the interaction between the rule and the ontology layers of the Semantic Web, by comparing two options: 1) using OWL and its rule extension SWRL to…

Although some recent works show potential complementarity among different state-of-the-art systems, few works try to investigate this problem in text summarization. Researchers in other areas commonly refer to the techniques of reranking or…

计算与语言 · 计算机科学 2021-04-16 Yixin Liu , Zi-Yi Dou , Pengfei Liu

Prolog's very useful expressive power is not captured by traditional logic programming semantics, due mainly to the cut and goal and clause order. Several alternative semantics have been put forward, exposing operational details of the…

编程语言 · 计算机科学 2011-07-28 António Porto