中文
相关论文

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

200 篇论文

While large language models (LLMs) now excel at code generation, a key aspect of software development is the art of refactoring: consolidating code into libraries of reusable and readable programs. In this paper, we introduce LILO, a…

计算与语言 · 计算机科学 2024-03-18 Gabriel Grand , Lionel Wong , Maddy Bowers , Theo X. Olausson , Muxin Liu , Joshua B. Tenenbaum , Jacob Andreas

Refactoring is the practice of improving software quality without altering its external behavior. Developers intuitively refactor their code for multiple purposes, such as improving program comprehension, reducing code complexity, dealing…

计算机与社会 · 计算机科学 2023-11-21 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni

Recent advances in coding agents have shown remarkable progress in software issue resolution. In practice, real-world issues are typically bug fixes or feature requests in which human developers naturally incorporate refactoring as part of…

软件工程 · 计算机科学 2026-05-22 Zhao Tian , Zifan Zhang , Tao Xiao , Dong Wang , Masanari Kondo , Junjie Chen , Yasutaka Kamei

There are many initiatives in presents-days for interaction between Java and Prolog programming languages. These initiatives allow combine two programming paradigms, Object Oriented Programming and Logic Programming. Every proposed…

编程语言 · 计算机科学 2022-04-01 Jose E. Zalacain Llanes

Prompt engineering is critical for the development of LLM-based applications. However, it is usually done manually in a "trial and error" fashion that can be time consuming, ineffective, and sub-optimal. Even for the prompts which seemingly…

人工智能 · 计算机科学 2024-06-11 Weize Kong , Spurthi Amba Hombaiah , Mingyang Zhang , Qiaozhu Mei , Michael Bendersky

Logging statements are essential for software debugging and maintenance. However, existing approaches to automatic logging generation rely on static analysis and produce statements in a single pass without considering runtime behavior. They…

软件工程 · 计算机科学 2026-04-01 Xin Wang , Yang Feng , Jiaoxiao Qian , Yang Zhang , Zhenhao Li , Zishuo Ding

The so called ``cogen approach'' to program specialisation, writing a compiler generator instead of a specialiser, has been used with considerable success in partial evaluation of both functional and imperative languages. This paper…

编程语言 · 计算机科学 2007-05-23 Michael Leuschel , Jesper Joergensen , Wim Vanhoof , Maurice Bruynooghe

We aim to explore how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring (SAR), which indicates developers' documentation of their refactoring activities. SAR is…

软件工程 · 计算机科学 2023-06-12 Eman Abdullah AlOmar

Proponents of the programming language Prolog share the opinion Prolog is more appropriate for transforming XML-documents as other well-established techniques and languages like XSLT. In order to clarify this position this work proposes a…

编程语言 · 计算机科学 2021-04-26 René Haberland

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

Graph rewriting is a popular tool for the optimisation and modification of graph expressions in domains such as compilers, machine learning and quantum computing. The underlying data structures are often port graphs - graphs with labels at…

数据结构与算法 · 计算机科学 2025-03-27 Luca Mondada , Pablo Andrés-Martínez

Many Prolog programs are unnecessarily impure because of inadequate means to express syntactic inequality. While the frequently provided built-in `dif/2` is able to correctly describe expected answers, its direct use in programs often leads…

编程语言 · 计算机科学 2016-07-07 Ulrich Neumerkel , Stefan Kral

Refactoring is a critical process in software development, aiming at improving the internal structure of code while preserving its external behavior. Refactoring engines are integral components of modern Integrated Development Environments…

软件工程 · 计算机科学 2024-09-24 Haibo Wang , Zhuolin Xu , Huaien Zhang , Nikolaos Tsantalis , Shin Hwei Tan

Pragmas for loop transformations, such as unrolling, are implemented in most mainstream compilers. They are used by application programmers because of their ease of use compared to directly modifying the source code of the relevant loops.…

编程语言 · 计算机科学 2019-01-31 Michael Kruse , Hal Finkel

Most program profiling methods output the execution time of one specific program execution, but not its computational complexity class in terms of the big-O notation. Perfrewrite is a tool based on LLVM's Clang compiler to rewrite a program…

编程语言 · 计算机科学 2014-09-09 Michael Kruse

We present strategic portgraph rewriting as a basis for the implementation of visual modelling and analysis tools. The goal is to facilitate the specification, analysis and simulation of complex systems, using port graphs. A system is…

计算机科学中的逻辑 · 计算机科学 2014-07-31 Maribel Fernández , Hélène Kirchner , Bruno Pinaud

Adding versatile interactions to goals and queries in logic programming is an essential task. Unfortunately, existing logic languages can take input from the user only via the $read$ construct. We propose to add a new interactive goal to…

编程语言 · 计算机科学 2013-08-06 Keehang Kwon

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

An important challenge in constraint programming is to rewrite constraint models into executable programs calculat- ing the solutions. This phase of constraint processing may require translations between constraint programming lan- guages,…

人工智能 · 计算机科学 2010-02-17 Raphael Chenouard , Laurent Granvilliers , Ricardo Soto

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