Dr. Ran Ettinger

ranger foto In October 2013 I have returned to the Negev and BGU as a part-time lecturer, some 13 years after graduating from this university. Prior to that I was at IBM Research - Haifa.
My main goal in research is to establish and promote novel code-editing techniques and tools to help software developers in their daily work. Such tools aim to support programmers in their efforts to develop and maintain high-quality software. My work employs (static) program analysis techniques for the automation of semantics-preserving source-code-motion transformations, refactorings. When applied well (and frequently), these refactoring transformations improve the design of existing programs by enhancing reuse and by making the code more readable and maintainable. The transformations are based on Weiser's decomposition technique of program slicing and on my novel recomposition approach of program sliding. The theory underlying sliding's correctness finds its roots in formal methods, leveraging Dijkstra's predicate-transformer semantics and the refinement calculus.

Here's an example correct-by-construction program derivation of an iterative algorithm to compute the factorial of a natural number using the programming language and verifier Dafny.

Contacts

Email:
Homepage:
Office: -104 in 58 building
Phone number: 08-6428045
Fax number: 08-6477650
Box number: 138
Office hours: Wed 14:10-16:00

Teaching

Fall 2016-2017 20215941 Correct-by-Construction Programming
Fall 2016-2017 20215881 Introduction to Code-Motion Refactoring
Spring 2016 20215401 Multiprogramming For Parallel Processing
Spring 2016 20212051 Principles of Programming Languages
Spring 2016 20215881 Introduction to Code-Motion Refactoring
Fall 2015-2016 20212031 Systems Programming
Fall 2015-2016 20215941 Correct-by-Construction Programming
Fall 2014-2015 20212031 Systems Programming
Fall 2014-2015 20215941 Correct-by-Construction Programming
Spring 2015 20212051 Principles of Programming Languages
Spring 2015 20215401 Multiprogramming For Parallel Processing
Spring 2015 20215881 Introduction to Code-Motion Refactoring
Fall 2013-2014 20215941 Correct-by-Construction Programming
Spring 2014 20212051 Principles of Programming Languages
Spring 2014 20215401 Multiprogramming For Parallel Processing

Education

2000  -  B.Sc  Ben-Gurion University of the Negev, Mathematics and Computer Science
2007  -  Ph.D  University of Oxford, Computer Science
Thesis: Refactoring via Program Slicing and Sliding
Advisor: Prof. Oege de Moor

Patents

Determining suitable insertion points for string sanitizers in a computer code
Authors: A. Ahadi, J. Bnayahu, R. Ettinger, Y.A. Feldman, Y.A. Haviv, and A. Sharabani
Filed (US 20120304161) May 2011
Fine slicing: generating an executable bounded slice for program
Authors: A. Abadi, J. Bnayahu, R. Ettinger, and Y.A. Feldman
Filed (US 20110041123) August 2009
Fixing security vulnerability in a source code
Authors: A. Abadi, Y.A. Feldman, R. Ettinger, J. Bnayahu, O. Tripp, Y. Haviv, A. Sharabani, and O. Weisman
Filed (US 20110302566) June 2010
Improving software architecture by untangling undesired code level dependencies using code refactoring
Authors: M. Goldstein, A. Abadi, R. Ettinger, and Y.A. Feldman
Filed (US 20130125086) April 2012
Method for code transformation supporting temporal abstraction of parameters
Authors: A. Abadi, J. Bnayahu, R. Ettinger, and Y.A. Feldman
Filed (US 20120227029) March 2011
Plan-based program slicing
Authors: A. Abadi, J. Bnayahu, R. Ettinger, and Y.A. Feldman
Filed (US 20110055803) August 2009

Selected publications all BibTex

 
Conference Articles
R. Ettinger. Program Sliding. In 26th European Conference on Object-Oriented Programming (ECOOP), J. Noble editor, pages 713-737, Springer-Verlag, June 2012.
A. Abadi, R. Ettinger, and Y.A. Feldman. Fine Slicing: Theory and Applications for Computation Extraction. In 15th International Conference on Fundamental Approaches to Software Engineering (FASE 2012), Held as Part of the European Joint Conferences on Theory and Practice of Software (ETAPS 2012), J. de Lara and A. Zisman editor, pages 471-485, Springer-Verlag, 2012.
A. Abadi, R. Ettinger, and Y.A. Feldman. Improving slice accuracy by compression of data and control flow paths. In 7th Joint Meeting of the European Software Engineering Conference and the ACM Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 223-232, ACM, 2009.
M. Verbaere, R. Ettinger, and O. de Moor. JunGL: a scripting language for refactoring. In Proceedings of the 28th International Conference on Software Engineering (ICSE), pages 172-181, ACM, 2006.
R. Ettinger and M. Verbaere. Untangling: a slice extraction refactoring. In Proceedings of the 3rd international conference on Aspect-Oriented Software Development (AOSD), pages 93-101, ACM, 2004.
 
Phd Thesis
R. Ettinger. Refactoring via Program Slicing and Sliding, 2006, University of Oxford.