中文
相关论文

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

200 篇论文

Our term "structure discovery" denotes the recovery of structure, such as the grouping of cells, that was intended by a spreadsheet's author but is not explicit in the spreadsheet. We are implementing structure discovery tools in the…

软件工程 · 计算机科学 2008-03-10 Jocelyn Paine

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

Context. Code refactoring improves software quality without changing external behavior. Despite its advantages, its benefits are hindered by the considerable cost of time, resources, and continuous effort it demands. Aim. Understanding why…

软件工程 · 计算机科学 2025-09-10 Mikel Robredo , Matteo Esposito , Fabio Palomba , Rafael Peñaloza , Valentina Lenarduzzi

The paper tackles the issue of mapping logic axioms formalised in the Ontology Web Language (OWL) within the Object-Oriented Programming (OOP) paradigm. The issues of mapping OWL axioms hierarchies and OOP objects hierarchies are due to…

人工智能 · 计算机科学 2024-04-22 Luca Buoncompagni , Fulvio Mastrogiovanni

Compiler optimizations, usually expressed as rewrites on program graphs, are a core part of all modern compilers. However, even production compilers have bugs, and these bugs are difficult to detect and resolve. The problem only becomes…

编程语言 · 计算机科学 2014-07-31 William Mansky , Dennis Griffith , Elsa L. Gunter

Oz is a multiparadigm language that supports logic programming as one of its major paradigms. A multiparadigm language is designed to support different programming paradigms (logic, functional, constraint, object-oriented, sequential,…

编程语言 · 计算机科学 2007-05-23 Peter Van Roy , Per Brand , Denys Duchier , Seif Haridi , Martin Henz , Christian Schulte

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

We describe an approach to learn, in a term-rewriting setting, function definitions from input/output equations. By confining ourselves to structurally recursive definitions we obtain a fairly fast learning algorithm that often yields…

计算机科学中的逻辑 · 计算机科学 2018-02-06 Jochen Burghardt

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 an activity that improves the internal structure of the code without altering its external behavior. When performed on the production code, the tests can be used to verify that the external behavior of the production code is…

软件工程 · 计算机科学 2015-06-25 Ali Parsai , Alessandro Murgia , Quinten David Soetens , Serge Demeyer

In the software industry, the drive to add new features often overshadows the need to improve existing code. Large Language Models (LLMs) offer a new approach to improving codebases at an unprecedented scale through AI-assisted refactoring.…

软件工程 · 计算机科学 2024-12-23 Markus Borg

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

In this short paper, we explore a new way to refactor a simple but tricky-to-parallelize tree-traversal algorithm to harness multicore parallelism. Crucially, the refactoring draws from some classic techniques from programming-languages…

分布式、并行与集群计算 · 计算机科学 2023-07-21 Mike Rainey

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

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

Refactoring is an indispensable practice of improving the quality and maintainability of source code in software evolution. Rename refactoring is the most frequently performed refactoring that suggests a new name for an identifier to…

软件工程 · 计算机科学 2023-05-30 Hao Liu , Yanlin Wang , Zhao Wei , Yong Xu , Juhong Wang , Hui Li , Rongrong Ji

Tabling is probably the most widely studied extension of Prolog. But despite its importance and practicality, tabling is not implemented by most Prolog systems. Existing approaches require substantial changes to the Prolog engine, which is…

编程语言 · 计算机科学 2020-02-19 Benoit Desouter , Tom Schrijvers , Marko van Dooren

Recent work has provided delimited control for Prolog to dynamically manipulate the program control-flow, and to implement a wide range of control-flow and dataflow effects on top of. Unfortunately, delimited control is a rather primitive…

编程语言 · 计算机科学 2016-08-03 Amr Hany Saleh , Tom Schrijvers

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

Context: Software refactoring aims to improve software quality and developer productivity. Numerous empirical studies investigating the impact of refactoring activities on software quality have been conducted over the last two decades.…

软件工程 · 计算机科学 2019-08-19 Satnam Kaur , Paramvir Singh