English
Related papers

Related papers: Refactoring Composite to Visitor and Inverse Trans…

200 papers

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Studies show that small-scale…

Software Engineering · Computer Science 2022-02-16 James Ivers , Robert L. Nord , Ipek Ozkaya , Chris Seifried , Christopher S. Timperley , Marouane Kessentini

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

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

Reverse engineering has been a standard practice in the hardware community for some time. It has only been within the last ten years that reverse engineering, or "program comprehension", has grown into the current sub-discipline of software…

Software Engineering · Computer Science 2007-05-23 Michael L. Nelson

Prolog was once the main host for implementing constraint solvers. It seems that it is no longer so. To be useful, constraint solvers have to be integrable into industrial applications written in imperative or object-oriented languages; to…

Programming Languages · Computer Science 2007-05-23 Frederic Goualard

Software systems are evolving by adding new functions and modifying existing functions over time. Through the evolution, the structure of software is becoming more complex and so the understandability and maintainability of software systems…

Software Engineering · Computer Science 2014-08-22 Ginika Mahajan , Ashima

A collaborative object represents a data type (such as a text document) designed to be shared by a group of dispersed users. The Operational Transformation (OT) is a coordination approach used for supporting optimistic replication for these…

Software Engineering · Computer Science 2010-07-30 Abdessamad Imine

In this paper I introduce a mechanism to derive program transforma- tions from order-preserving transformations of vector types. The purpose of this work is to allow automatic generation of correct-by-construction instances of programs in a…

Programming Languages · Computer Science 2015-04-22 Wim Vanderbauwhede

Context: Code refactoring is widely recognized as an essential software engineering practice that improves the understandability and maintainability of source code. Several studies attempted to detect refactoring activities through mining…

Software Engineering · Computer Science 2025-02-07 Eman Abdullah AlOmar

This paper introduces CONFIGEN, a tool that helps modularizing software. CONFIGEN allows the developer to select a set of elementary components for his software through an interactive interface. Configuration files for use by C/assembly…

Software Engineering · Computer Science 2010-07-08 Emmanuel Ohayon , Matthieu Lemerre , Vincent David

Code obfuscation is a popular approach to turn program comprehension and analysis harder, with the aim of mitigating threats related to malicious reverse engineering and code tampering. However, programming languages that compile to high…

Software Engineering · Computer Science 2019-01-16 Davide Pizzolotto , Mariano Ceccato

The performance of database/Web-service backed applications can be significantly improved by asynchronous submission of queries/requests well ahead of the point where the results are needed, so that results are likely to have been fetched…

Databases · Computer Science 2014-07-29 Karthik Ramachandra , Mahendra Chavan , Ravindra Guravannavar , S Sudarshan

Inverse design, where we seek to design input variables in order to optimize an underlying objective function, is an important problem that arises across fields such as mechanical engineering to aerospace engineering. Inverse design is…

Machine Learning · Computer Science 2024-03-12 Tailin Wu , Takashi Maruyama , Long Wei , Tao Zhang , Yilun Du , Gianluca Iaccarino , Jure Leskovec

Software obfuscation techniques make code more difficult to understand, without changing its functionality. Such techniques are often used by authors of malicious software to avoid detection. Reverse Engineering of obfuscated code, i.e.,…

Cryptography and Security · Computer Science 2025-12-29 Nir Somech , Guy Katz

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

When done manually, refactoring legacy code in order to eliminate uses of deprecated APIs is an error-prone and time-consuming process. In this paper, we investigate to which degree refactorings for deprecated Java APIs can be automated,…

Software Engineering · Computer Science 2025-04-22 Cristina David , Pascal Kesseli , Daniel Kroening , Hanliang Zhang

Code analyzers such as Error Prone and FindBugs detect code patterns symptomatic of bugs, performance issues, or bad style. These tools express patterns as quick fixes that detect and rewrite unwanted code. However, it is difficult to come…

Software Engineering · Computer Science 2018-09-11 Reudismam Rolim , Gustavo Soares , Rohit Gheyi , Titus Barik , Loris D'Antoni

Modern spreadsheet systems can be used to implement complex spreadsheet applications including data sheets, customized user forms and executable procedures written in a scripting language. These applications are often developed by…

Software Engineering · Computer Science 2015-03-12 Domenico Amalfitano , Nicola Amatucci , Vincenzo De Simone , Anna Rita Fasolino , Porfirio Tramontana

Using simultaneously two operator identities, we consider the inversion of the convolution operators on a rectangular. The structure of the inverse operators and of some corresponding forms, which are important in signal processing, is…

Classical Analysis and ODEs · Mathematics 2017-01-31 Alexander Sakhnovich

While constructing supervised learning models, we require labelled examples to build a corpus and train a machine learning model. However, most studies have built the labelled dataset manually, which in many occasions is a daunting task. To…

Software Engineering · Computer Science 2023-03-14 Najam Nazar , Norman Chen , Chun Yong Chong