English
Related papers

Related papers: Knowledge Refactoring for Inductive Program Synthe…

200 papers

Knowledge refactoring compresses a logic program by introducing new rules. Current approaches struggle to scale to large programs. To overcome this limitation, we introduce a constrained optimisation refactoring approach. Our first key idea…

Logic in Computer Science · Computer Science 2025-06-23 Minghao Liu , David M. Cerna , Filipe Gouveia , Andrew Cropper

We introduce the higher-order refactoring problem, where the goal is to compress a logic program by discovering higher-order abstractions, such as map, filter, and fold. We implement our approach in Stevie, which formulates the refactoring…

Machine Learning · Computer Science 2024-01-30 Céline Hocquette , Sebastijan Dumančić , Andrew Cropper

When humans perform inductive learning, they often enhance the process with background knowledge. With the increasing availability of well-formed collaborative knowledge bases, the performance of learning algorithms could be significantly…

Artificial Intelligence · Computer Science 2018-02-02 Lior Friedman , Shaul Markovitch

Novice programmers often struggle to comprehend code due to vague naming, deep nesting, and poor structural organization. While explanations may offer partial support, they typically do not restructure the code itself. We propose code…

Software Engineering · Computer Science 2026-04-20 Subarna Saha , Alif Al Hasan , Fariha Tanjim Shifat , Mia Mohammad Imran

The goal of inductive logic programming is to induce a logic program (a set of logical rules) that generalises training examples. Inducing programs with many rules and literals is a major challenge. To tackle this challenge, we introduce an…

Machine Learning · Computer Science 2023-08-21 Andrew Cropper , Céline Hocquette

Code refactoring is a fundamental software engineering practice aimed at improving code quality and maintainability. Despite its importance, developers often neglect refactoring due to the significant time, effort, and resources it…

Reducing the cognitive complexity of a piece of code to a given threshold is not trivial. Recently, we modeled software cognitive complexity reduction as an optimization problem and we proposed an approach to assist developers on this task.…

Software Engineering · Computer Science 2024-02-09 Rubén Saborido , Javier Ferrer , Francisco Chicano

Retrieval-augmented generation (RAG) is a key means to effectively enhance large language models (LLMs) in many knowledge-based tasks. However, existing RAG methods struggle with knowledge-intensive reasoning tasks, because useful…

Computation and Language · Computer Science 2024-10-28 Zhuoqun Li , Xuanang Chen , Haiyang Yu , Hongyu Lin , Yaojie Lu , Qiaoyu Tang , Fei Huang , Xianpei Han , Le Sun , Yongbin Li

This Innovative Practice full paper explores how Large Language Models (LLMs) can enhance the teaching of code refactoring in software engineering courses through real-time, context-aware feedback. Refactoring improves code quality but is…

Software Engineering · Computer Science 2025-08-14 Anshul Khairnar , Aarya Rajoju , Edward F. Gehringer

The goal of inductive logic programming (ILP) is to search for a hypothesis that generalises training examples and background knowledge (BK). To improve performance, we introduce an approach that, before searching for a hypothesis, first…

Machine Learning · Computer Science 2022-12-06 Andrew Cropper , Céline Hocquette

Life-long learning aims at learning a sequence of tasks without forgetting the previously acquired knowledge. However, the involved training data may not be life-long legitimate due to privacy or copyright reasons. In practical scenarios,…

Computer Vision and Pattern Recognition · Computer Science 2022-07-19 Jingwen Ye , Yifang Fu , Jie Song , Xingyi Yang , Songhua Liu , Xin Jin , Mingli Song , Xinchao Wang

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

Software Engineering · Computer Science 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen

Various natural language processing tasks are structured prediction problems where outputs are constructed with multiple interdependent decisions. Past work has shown that domain knowledge, framed as constraints over the output space, can…

Computation and Language · Computer Science 2020-06-03 Xingyuan Pan , Maitrey Mehta , Vivek Srikumar

Outside of transfer learning settings, reinforcement learning agents start their learning process from a clean slate. As a result, such agents have to go through a slow process to learn even the most obvious skills required to solve a…

Machine Learning · Computer Science 2025-05-20 Rubens O. Moraes , Quazi Asif Sadmine , Hendrik Baier , Levi H. S. Lelis

Deep learning has become the workhorse for a wide range of natural language processing applications. But much of the success of deep learning relies on annotated examples. Annotation is time-consuming and expensive to produce at scale. Here…

Computation and Language · Computer Science 2020-09-01 Hai Wang

In this paper, we explore a novel and ambitious knowledge-transfer task, termed Knowledge Factorization~(KF). The core idea of KF lies in the modularization and assemblability of knowledge: given a pretrained network model as input, KF aims…

Computer Vision and Pattern Recognition · Computer Science 2022-10-11 Xingyi Yang , Jingwen Ye , Xinchao Wang

Inductive logic programming is a form of machine learning based on mathematical logic that generates logic programs from given examples and background knowledge. In this project, we extend the Popper ILP system to make use of multi-task…

Machine Learning · Computer Science 2022-08-25 Bogdan Cretu , Andrew Cropper

Large language models (LLMs) can effectively handle outdated information through knowledge editing. However, current approaches face two key limitations: (I) Poor generalization: Most approaches rigidly inject new knowledge without ensuring…

Computation and Language · Computer Science 2026-04-08 Jinhu Fu , Yan Bai , Longzhu He , Yihang Lou , Yanxiao Zhao , Li Sun , Sen Su

Refactoring is a maintenance activity that aims to improve design quality while preserving the behavior of a system. Several (semi)automated approaches have been proposed to support developers in this maintenance activity, based on the…

Software Engineering · Computer Science 2019-05-20 Rodrigo Morales , Foutse Khomh , Giuliano Antoniol

Our goal is to build systems which write code automatically from the kinds of specifications humans can most easily provide, such as examples and natural language instruction. The key idea of this work is that a flexible combination of…

Artificial Intelligence · Computer Science 2019-06-06 Maxwell Nye , Luke Hewitt , Joshua Tenenbaum , Armando Solar-Lezama
‹ Prev 1 2 3 10 Next ›