English
Related papers

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

200 papers

Software modernization is an inherent activity of software engineering, as technology advances and systems inevitably become outdated. The term "software modernization" emerged as a research topic in the early 2000s, with a differentiation…

Software Engineering · Computer Science 2024-07-08 Wesley K. G. Assunção , Luciano Marchezan , Alexander Egyed , Rudolf Ramler

Source code (Context) and its parsed abstract syntax tree (AST; Structure) are two complementary representations of the same computer program. Traditionally, designers of machine learning models have relied predominantly either on Structure…

Machine Learning · Computer Science 2021-03-23 Daniel Zügner , Tobias Kirschstein , Michele Catasta , Jure Leskovec , Stephan Günnemann

Requirements engineering plays a critical role in developing software systems. One of the most difficult tasks in this process is identifying functional requirements. A critical problem in many projects is missing requirements until late in…

Software Engineering · Computer Science 2020-04-02 Sabah Al-Fedaghi

Software component reuse is the software engineering practice of developing new software products from existing components. A reuse library or component reuse repository organizes stores and manages reusable components. This paper describes…

Software Engineering · Computer Science 2010-07-30 P. Shireesha , S. S. V. N. Sharma

Reconstructing a complete object from its parts is a fundamental problem in many scientific domains. The purpose of this article is to provide a systematic survey on this topic. The reassembly problem requires understanding the attributes…

Computer Vision and Pattern Recognition · Computer Science 2025-03-28 Jiaxin Lu , Yongqing Liang , Huijun Han , Jiacheng Hua , Junfeng Jiang , Xin Li , Qixing Huang

We revisit known transformations from Jinja bytecode to rewrite systems from the viewpoint of runtime complexity. Suitably generalising the constructions proposed in the literature, we define an alternative representation of Jinja bytecode…

Programming Languages · Computer Science 2014-05-07 Georg Moser , Michael Schaper

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

Digital Engineering, the digital transformation of engineering to leverage digital technologies, is coming globally. This paper explores digital systems engineering, which aims at developing theory, methods, models, and tools to support the…

Typical constraints on embedded systems include code size limits, upper bounds on energy consumption and hard or soft deadlines. To meet these requirements, it may be necessary to improve the software by applying various kinds of…

Performance · Computer Science 2010-11-30 Hugues Cassé , Karine Heydemann , Haluk Ozaktas , Jonathan Ponroy , Christine Rochange , Olivier Zendra

An optimizing compiler consists of a front end parsing a textual programming language into an intermediate representation (IR), a middle end performing optimizations on the IR, and a back end lowering the IR to a target representation (TR)…

Programming Languages · Computer Science 2011-11-22 Sebastian Buchwald , Edgar Jakumeit

The rise of machine learning (ML) and its integration into software systems has drastically changed development practices. While software engineering traditionally focused on manually created code artifacts with dedicated processes and…

Software Engineering · Computer Science 2025-02-25 Yorick Sens , Henriette Knopp , Sven Peldszus , Thorsten Berger

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Obtaining good performance when programming heterogeneous computing platforms poses significant challenges. We present a program transformation environment, implemented in Haskell, where architecture-agnostic scientific C code with semantic…

Programming Languages · Computer Science 2017-01-13 Salvador Tamarit , Julio Mariño , Guillermo Vigueras , Manuel Carro

Engineering the software development process in robotics is one of the basic necessities towards industrial-strength service robotic systems. A major challenge is to make the step from code-driven to model-driven systems. This is essential…

Robotics · Computer Science 2010-09-27 Andreas Steck , Christian Schlegel

Source code is rarely written in isolation. It depends significantly on the programmatic context, such as the class that the code would reside in. To study this phenomenon, we introduce the task of generating class member functions given…

Computation and Language · Computer Science 2018-08-30 Srinivasan Iyer , Ioannis Konstas , Alvin Cheung , Luke Zettlemoyer

Programming is a powerful and ubiquitous problem-solving tool. Developing systems that can assist programmers or even generate programs independently could make programming more productive and accessible, yet so far incorporating…

Refactoring is the process of restructuring existing code without changing its external behavior while improving its internal structure. Refactoring engines are integral components of modern Integrated Development Environments (IDEs) and…

Software Engineering · Computer Science 2025-07-10 Haibo Wang , Zhuolin Xu , Shin Hwei Tan

To fork a project is to copy the existing code base and move in a direction different than that of the erstwhile project leadership. Forking provides a rapid way to address new requirements by adapting an existing solution. However, it can…

Software Engineering · Computer Science 2010-04-19 Neil A. Ernst , Steve Easterbrook , John Mylopoulos

A code generation system generates programming language code based on an input natural language description. State-of-the-art approaches rely on neural networks for code generation. However, these code generators suffer from two problems.…

Machine Learning · Computer Science 2019-12-02 Zeyu Sun , Qihao Zhu , Yingfei Xiong , Yican Sun , Lili Mou , Lu Zhang

Advances in technologies like artificial intelligence and metaverse have led to a proliferation of software systems in business and everyday life. With this widespread penetration, the carbon emissions of software are rapidly growing as…

Software Engineering · Computer Science 2025-06-12 Rohit Mehra , Priyavanshi Pathania , Vibhu Saujanya Sharma , Vikrant Kaulgud , Sanjay Podder , Adam P. Burden