Deprogramming large software systems

  • Authors:
  • Yohann Coppel;George Candea

  • Affiliations:
  • École Polytechnique Fédérale de Lausanne, Switzerland;École Polytechnique Fédérale de Lausanne, Switzerland

  • Venue:
  • HotDep'08 Proceedings of the Fourth conference on Hot topics in system dependability
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developers turn ideas, designs and patterns into source code, then compile the source code into executables. Decompiling turns executables back into source code, and deprogramming turns code back into designs and patterns. In this paper we introduce DeP, a tool for deprogramming software systems. DeP abstracts code into a dependency graph and mines this graph for patterns. It also gives programmers visual means for manipulating the program. We describe DeP's use in several software engineering tasks: design pattern identification, source code refactoring, copy-paste detection, automated code documentation, and programmer fingerprint recognition.