English
Related papers

Related papers: Program Understanding: A Reengineering Case for th…

200 papers

Our research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and…

Programming Languages · Computer Science 2020-08-19 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source…

Software Engineering · Computer Science 2019-04-30 Anas Alhamwieh , Said Ghoul

In the domain of Software Engineering, program analysis and understanding has been considered to be a very challenging task since decade, as it demands dedicated time and efforts. The analysis of source code may occasionally be…

Software Engineering · Computer Science 2019-05-01 Safeeullah Soomro , Mohammad Riyaz Belgaum , Zainab Alansari , Mahdi H Miraz

There has been a recent surge of interest in automating software engineering tasks using deep learning. This paper addresses the problem of code generation, where the goal is to generate target code given source code in a different language…

Machine Learning · Computer Science 2024-02-01 Sindhu Tipirneni , Ming Zhu , Chandan K. Reddy

It is a high-quality algorithm for hierarchical clustering of large software source code. This effectively allows to break the complexity of tens of millions lines of source code, so that a human software engineer can comprehend a software…

Artificial Intelligence · Computer Science 2012-07-05 Sarge Rogatch

Program understanding is an important aspect in Software Maintenance and Reengineering. Understanding the program is related to execution behaviour and relationship of variable involved in the program. The task of finding all statements in…

Software Engineering · Computer Science 2011-08-08 N. Sasirekha , A. Edwin Robert , Dr. M. Hemalatha

In modern software engineering, build systems play the crucial role of facilitating the conversion of source code into software artifacts. Recent research has explored high-level causes of build failures, but has largely overlooked the…

Software Engineering · Computer Science 2025-04-03 Anwar Ghammam , Dhia Elhaq Rzig , Mohamed Almukhtar , Rania Khalsi , Foyzul Hassan , Marouane Kessentini

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

We apply machine learning to version control data to measure the quantity of effort required to produce source code changes. We construct a model of a `standard coder' trained from examples of code changes produced by actual software…

Software Engineering · Computer Science 2019-03-07 Ian Wright , Albert Ziegler

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

Legacy systems concentrate business rules, architectural decisions, and operational exceptions that often remain implicit in code, data, configuration, and maintenance practices. At the same time, language-model-based coding agents depend…

Software Engineering · Computer Science 2026-05-19 Sanderson Oliveira de Macedo , Ronaldo Martins da Costa

In today's software world with its cornucopia of reusable software libraries, when a programmer is faced with a programming task that they suspect can be completed through the use of a library, they often look for code examples using a…

Software Engineering · Computer Science 2021-10-08 Geert Heyman , Rafael Huysegems , Pascal Justen , Tom Van Cutsem

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Understanding the transformer architecture and its workings is essential for machine learning (ML) engineers. However, truly understanding the transformer architecture can be demanding, even if you have a solid background in machine…

Machine Learning · Computer Science 2025-02-28 Joni-Kristian Kämäräinen

Assembly-to-source code translation is a critical task in reverse engineering, cybersecurity, and software maintenance, yet systematic benchmarks for evaluating large language models on this problem remain scarce. In this work, we present…

Software Engineering · Computer Science 2025-12-02 Parisa Hamedi , Hamed Jelodar , Samita Bai , Mohammad Meymani , Roozbeh Razavi-Far , Ali A. Ghorbani

Software architecture is receiving increasingly attention as a critical design level for software systems. As software architecture design resources (in the form of architectural specifications) are going to be accumulated, the development…

Software Engineering · Computer Science 2009-09-25 Jianjun Zhao

Source code spends most of its time in a broken or incomplete state during software development. This presents a challenge to machine learning for code, since high-performing models typically rely on graph structured representations of…

Machine Learning · Computer Science 2021-06-01 Xuechen Li , Chris J. Maddison , Daniel Tarlow

Understanding the purpose of source code is a critical task in software maintenance, onboarding, and modernization. While large language models (LLMs) have shown promise in generating code explanations, they often lack grounding in the…

Software Engineering · Computer Science 2025-11-06 Ziv Nevo , Orna Raz , Karen Yorav

This paper is in the intersection of software engineering and system engineering, two intimately intertwined disciplines. A dominating theme in this paper is the integral conceptualization of systems at large, as well as an underlying…

Software Engineering · Computer Science 2021-03-05 Sabah Al-Fedaghi