• Stars
    star
    166
  • Rank 227,748 (Top 5 %)
  • Language
    Common Lisp
  • License
    Other
  • Created almost 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Programmatic modification and evaluation of software

SOFTWARE-EVOLUTION-LIBRARY

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 https://grammatech.github.io/sel.

SEL has been used to support many projects including:

To cite SEL please use the following reference:

@manual{sel2018manual,
  title        = {Software Evolution Library},
  author       = {Eric Schulte and Contributors},
  organization = {GrammaTech},
  address      = {eschulte@grammatech.com},
  month        = 1,
  year         = 2018,
  note         = {https://grammatech.github.io/sel/}
}

More Repositories

1

ddisasm

A fast and accurate disassembler
C++
653
star
2

gtirb

Intermediate Representation for Binary analysis and transformation
C++
306
star
3

retypd

Python
69
star
4

clang-mutate

Manipulate C-family ASTs with Clang
C++
64
star
5

gtirb-pprinter

Pretty printer from GTIRB to assembly code
C++
48
star
6

resolve

Resolve software differencing and merging
C++
37
star
7

gtirb-stack-stamp

Apply ROP protection to a binary using binary rewriting with GTIRB
C++
32
star
8

retypd-ghidra-plugin

Retypd plugin for Ghidra reverse engineering framework from NSA
Java
22
star
9

swap-detector

A library for detecting swapped arguments in function calls, and a Clang Static Analyzer plugin used to demonstrate the library.
C
21
star
10

cl-utils

GrammaTech Common Lisp Utilities
Common Lisp
18
star
11

cl-smt-lib

Common Lisp package providing an SMT object supporting SMT-LIB communication over input and output streams
Common Lisp
18
star
12

gtirb-rewriting

Python API for rewriting GTIRB files
Python
16
star
13

cgc-cbs

Challenge binaries (CBs) and tools from DARPA's Cyber Grand Challenge (CGC)
C
16
star
14

functional-trees

Tree data structure supporting functional manipulation. Works closely with FSet.
Common Lisp
14
star
15

mc-asm

Assemble code to bytes using LLVM's MC layer
C++
14
star
16

gtirb-ddisasm-retypd

Python
13
star
17

gtirb-ghidra-plugin

Ghidra plugin to handle GTIRB files
Java
12
star
18

trace-db

Writing, reading, storing, and searching of program traces (source and binary)
C
11
star
19

gtirb-vscode

Python
7
star
20

gtirb-capstone

Python
7
star
21

elf

A Common Lisp library for manipulating ELF files
Common Lisp
7
star
22

pylint-sarif

Python
6
star
23

gtirb-search-reduce

Reduce a binary to only retain that which is required to continue to pass a provided test suite.
Python
6
star
24

cl-capstone

Common Lisp bindings for the Capstone disassembler
Common Lisp
5
star
25

stefil-

Common Lisp
5
star
26

github-sarif-integration

Python
5
star
27

gtirb-functions

C++
4
star
28

cl-make

Makefile
3
star
29

grammatech.github.io

GrammaTech Research on GitHub
TeX
2
star
30

vscode-codesonar

CodeSonar extension for Visual Studio Code
TypeScript
2
star
31

postfix-docker

Shell
2
star
32

j8-tests

Java
1
star
33

rebloat

1
star
34

gtirb-types

Python
1
star