Program sliding

Ran Ettinger

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Scopus citations


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 original code. The co-slice generated by sliding is designed to reuse the slice's results, correctly, in order to avoid re-computation causing excessive code duplication. By isolating coherent slices of code, making them extractable and reusable, sliding is shown to be an effective step in performing advanced code refactorings. A practical sliding algorithm, based on the program dependence graph representation, is presented and evaluated through a manual sliding-based refactoring experiment on real Java code.

Original languageEnglish
Title of host publicationECOOP 2012 - Object-Oriented Programming
Subtitle of host publication26th European Conference, Proceedings
PublisherSpringer Verlag
Number of pages25
ISBN (Print)9783642310560
StatePublished - 1 Jan 2012
Externally publishedYes
Event26th European Conference on Object-Oriented Programming, ECOOP 2012 - Beijing, China
Duration: 11 Jun 201216 Jun 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7313 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


Conference26th European Conference on Object-Oriented Programming, ECOOP 2012


  • Program slicing
  • co-slicing
  • refactoring
  • reuse
  • sliding

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Program sliding'. Together they form a unique fingerprint.

Cite this