Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.


The SOFTWARE-EVOLUTION-LIBRARY enables the programmatic modification and evaluation of software.

A common interface abstracts over multiple types of software objects including source code abstract syntax trees (primarily using tree-sitter), compiled assembler code, and binary software objects. Software transformation, analysis, and evaluation techniques are implemented on top of this interface supporting automation of common software engineering tasks.

See the manual, available at

SEL has been used to support many projects including:

To cite SEL please use the following reference:

  title        = {Software Evolution Library},
  author       = {Eric Schulte and Contributors},
  organization = {GrammaTech},
  address      = {},
  month        = 1,
  year         = 2018,
  note         = {}