Ran Ettinger

Ran Ettinger
Ben-Gurion University of the Negev | bgu · Department of Computer Science

DPhil

About

21
Publications
1,621
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
307
Citations

Publications

Publications (21)
Conference Paper
A semantics-preserving code-motion refactoring transformation by Komondoor and Horwitz (KH) had been shown to be effective in the elimination of type-3 clones, partly thanks to its successful combination of statement reordering with duplication of predicates. According to a recent clone refactorability definition by Tsantalis, however, such a trans...
Patent
Full-text available
A method for generating a slice from a plan-based representation of a program is provided. The method comprises constructing a plan representation of a program, wherein the plan representation comprises a plurality of nodes, edges, and ports; and receiving one or more slicing criteria from a user. The slicing criteria comprise one or more variable...
Patent
Full-text available
A computer implemented method for automatically fixing a security vulnerability in a source code. The method includes obtaining identification of a code block that includes a code that sends tainted data to a corresponding sink code in the source code and automatically fixing the vulnerability by automatically performing code modification which is...
Patent
A method of code transformation supporting temporal abstraction of parameters is provided herein. The method includes the following stages: extracting a set of statements from an original code and further creating a residual code being the original code without the statements, wherein two or more of the extracted statements are not on a same loop i...
Patent
Full-text available
A method for generating a fine slice for a program is provided. The method comprises receiving a set of slicing criteria, wherein the set of slicing criteria comprises one or more variable occurrences or control dependences; receiving a set of cut points, wherein the set of cut points comprises one or more variable occurrences or control dependence...
Patent
Full-text available
A method of determining suitable insertion points for inserting string sanitizers in a computer code is provided herein. The method includes the following stages: obtaining: (i) a computer code associated with a data flow of externally supplied data, from one or more sources to one or more sinks, (ii) locations of the sources, and (iii) locations o...
Conference Paper
As program slicing is a technique for computing a subprogram that preserves a subset of the original program’s functionality, program sliding is a new technique for computing two such subprograms, a slice and its complement, the co-slice. A composition of the slice and co-slice in a sequence is expected to preserve the full functionality of the ori...
Conference Paper
Full-text available
Software evolution often requires the untangling of code. Particularly challenging and error-prone is the task of separating computations that are intertwined in a loop. The lack of automatic tools for such transformations complicates maintenance and hinders reuse. We present a theory and implementation of fine slicing, a method for computing execu...
Conference Paper
Most kinds of security vulnerabilities in web applications can be fixed by adding appropriate sanitization methods. Finding the correct place for the sanitizers can be difficult due to complicated data and control flow. Fixing SQL injection vulnerabilities may require more complex transformations, such as replacing uses of Statement by PreparedStat...
Conference Paper
Program slicing is a useful technique in tools for program understanding and transformation. Computing correct and accurate slices for unstructured programs is particularly difficult. We present a new family of slicing algorithms that are proved correct and are more accurate than the best previous algorithms. An empirical study shows significant im...
Article
Full-text available
The potential of the Extract Method refactoring for main-taining high-quality software is well-recognized. It can be useful by itself, or as a building block in larger refactoring tasks. Because it requires a deep analysis of data and con-trol dependences, it is difficult to perform correctly without tools in complicated cases. Unfortunately, refac...
Article
Full-text available
Fowler saw the availability of automated support for the Ex-tract Method refactoring in modern IDEs as an indication for the crossing of the refactoring Rubicon. In spite of the ad-vances in refactoring technology, it seems that this Rubicon has not yet been crossed, and refactoring support in modern IDEs leaves a lot to be desired. We performed a...
Article
Full-text available
When trying to understand certain behaviors of a given program, a programmer's job can be facilitated by the use of a slicing tool, which helps focusing attention on the relevant subprogram. After, or even instead of reading a selected program slice, a programmer might be interested in studying its complement, i.e. the rest of the program. But what...
Conference Paper
Full-text available
This short paper is a summary of my doctoral research, which was conducted under Oege de Moor's supervision at the University of Oxford, starting October 2001. The thesis was submitted on September 29, 2006, and defended on January 18, 2007. The final version was submitted, after minor corrections, on June 15, 2007.
Conference Paper
Full-text available
Refactorings are behaviour-preserving program transforma- tions, typically for improving the structure of existing code. A few of these transformations have been mechanised in interactive development environments. Many more refac- torings have been proposed, and it would be desirable for programmers to script their own refactorings. Implement- ing...
Article
Full-text available
By now, the concept of program slicing has been known in the research community for around 25 years. As a research topic, it has enjoyed a fair share of popularity, evidenced by the number of articles published on the topic following Mark Weiser's seminal paper. However, outside research circles, program slicing appears to be virtually unknown. In...
Conference Paper
Full-text available
Separation of concerns in existing code can be achieved by specific refactoring techniques. Modern refactoring tools support a number of well-known refactoring transformations, including method extraction. In this paper, we examine how method extraction can be improved through program slicing. Furthermore, we show how a generalization of such slice...

Network

Cited By