English
Related papers

Related papers: Supporting single responsibility through automated…

200 papers

Developers often extract methods to improve readability, understanding, and reuse, while inlining keeps logic in one block. Prior work based on static metrics has not shown clear differences between these practices, and the human side of…

Software refactoring is the process of changing the structure of software without any alteration in its behavior and functionality. Presuming it is carried out in appropriate opportunities, refactoring enhances software quality…

Software Engineering · Computer Science 2023-01-20 Hanieh Khosravi , Abbas Rasoolzadegan

Software refactoring aims at improving code quality while preserving the system's external behavior. Although in principle refactoring is a behavior-preserving activity, a study presented by Bavota et al. in 2012 reported the proneness of…

Software Engineering · Computer Science 2020-09-25 Massimiliano Di Penta , Gabriele Bavota , Fiorella Zampetti

Learning interpretable and transferable subpolicies and performing task decomposition from a single, complex task is difficult. Some traditional hierarchical reinforcement learning techniques enforce this decomposition in a top-down manner,…

Machine Learning · Computer Science 2019-03-06 Bohan Wu , Jayesh K. Gupta , Mykel J. Kochenderfer

This paper proposes an iterative inference algorithm for multi-hop explanation regeneration, that retrieves relevant factual evidence in the form of text snippets, given a natural language question and its answer. Combining multiple sources…

Information Retrieval · Computer Science 2020-12-22 Ruben Cartuyvels , Graham Spinks , Marie-Francine Moens

Large-scale pre-trained models have been remarkably successful in resolving downstream tasks. Nonetheless, deploying these models on low-capability devices still requires an effective approach, such as model pruning. However, pruning the…

Computer Vision and Pattern Recognition · Computer Science 2023-07-11 Haiyan Zhao , Guodong Long

Refactoring is the de-facto practice to optimize software health. While several studies propose refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how…

Software Engineering · Computer Science 2021-11-16 Eman Abdullah AlOmar , Tianjia Wang , Vaibhavi Raut , Mohamed Wiem Mkaouer , Christian Newman , Ali Ouni

In this paper, a new approach is proposed for automated software maintenance. The tool is able to perform 26 different refactorings. It also contains a large selection of metrics to measure the impact of the refactorings on the software and…

Software Engineering · Computer Science 2017-10-17 Michael Mohan , Des Greer

Backward slicing has been used extensively in program understanding, debugging and scaling up of program analysis. For large programs, the size of the conventional backward slice is about 25% of the program size. This may be too large to be…

Software Engineering · Computer Science 2014-07-21 Shrawan Kumar , Amitabha Sanyal , Uday Khedker

Automatic test generation aims to save developers time and effort by producing test suites with reasonably high coverage and fault detection. However, the focus of search-based generation tools in maximizing coverage leaves other…

Software Engineering · Computer Science 2025-04-11 Geraldine Galindo-Gutierrez

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…

Computation and Language · Computer Science 2021-04-16 Yixin Liu , Zi-Yi Dou , Pengfei Liu

Large pre-trained models have transformed machine learning, yet adapting these models effectively to exhibit precise, concept-specific behaviors remains a significant challenge. Task vectors, defined as the difference between fine-tuned and…

Machine Learning · Computer Science 2025-12-30 Hamed Damirchi , Ehsan Abbasnejad , Zhen Zhang , Javen Shi

Debugging of large software systems consisting of many processes accessing shared resources is a very difficult task. Many commercial systems record essential events during system execution for post-mortem analysis. However, the event…

Software Engineering · Computer Science 2007-05-23 Raymond Smith , Bogdan Korel

Multi-task learning has garnered widespread attention in the industry due to its efficient data utilization and strong generalization capabilities, making it particularly suitable for providing high-quality intelligent services to users.…

Machine Learning · Computer Science 2026-01-06 Jingxuan Zhou , Weidong Bao , Ji Wang , Zhengyi Zhong

The forward-forward algorithm presents a new method of training neural networks by updating weights during an inference, performing parameter updates for each layer individually. This immediately reduces memory requirements during training…

Machine Learning · Computer Science 2023-06-28 Michael Hopwood

Recent advances in large language models (LLMs), make it potentially feasible to automatically refactor source code with LLMs. However, it remains unclear how well LLMs perform compared to human experts in conducting refactorings…

Software Engineering · Computer Science 2024-11-08 Bo Liu , Yanjie Jiang , Yuxia Zhang , Nan Niu , Guangjie Li , Hui Liu

Few-shot prompting is a surprisingly powerful way to use Large Language Models (LLMs) to solve various tasks. However, this approach struggles as the task complexity increases or when the individual reasoning steps of the task themselves…

Computation and Language · Computer Science 2023-04-13 Tushar Khot , Harsh Trivedi , Matthew Finlayson , Yao Fu , Kyle Richardson , Peter Clark , Ashish Sabharwal

This work introduces (1) a technique that allows large language models (LLMs) to leverage user-provided code when solving programming tasks and (2) a method to iteratively generate modular sub-functions that can aid future code generation…

Machine Learning · Computer Science 2023-12-05 Patrick Hajali , Ignas Budvytis

The process of data analysis, especially in GUI-based analytics systems, is highly exploratory. The user iteratively refines a workflow multiple times before arriving at the final workflow. In such an exploratory setting, it is valuable to…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-08-30 Avinash Kumar , Sadeem Alsudais , Shengquan Ni , Zuozhi Wang , Yicong Huang , Chen Li

Unidimensional factor models justify some of the most consequential summaries in science -- single scores, single ranks, and single leaderboards -- yet unidimensionality is usually assessed indirectly by fitting and evaluating models on…

Methodology · Statistics 2026-03-25 Michael Hardy