multiplier

Code auditing productivity multiplier.

https://github.com/trailofbits/multiplier

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

analysis audit clang mlir

Keywords from Contributors

binary-analysis emulation program-analysis smt symbolic-execution z3 academic-papers conference-presentations security-reviews
Last synced: 6 months ago · JSON representation ·

Repository

Code auditing productivity multiplier.

Basic Info
  • Host: GitHub
  • Owner: trailofbits
  • License: apache-2.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 36.5 MB
Statistics
  • Stars: 452
  • Watchers: 21
  • Forks: 27
  • Open Issues: 120
  • Releases: 75
Topics
analysis audit clang mlir
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Multiplier finds more bugs faster

Multiplier provides precise and comprehensive code understanding capabilities. It does so by saving build artifacts into a database, and then making them persistently accessible using a C++ or Python API.

Multiplier emphasizes the ability to uniquely identify all entities in a build process, including individual tokens, AST nodes, and intermediate representations. With Multiplier, an analyst can identify code patterns of interest over one of the representations, and then accurately relay results back to humans in a readable form, or to follow-on scripts via entity IDs.

Multiplier's APIs are extensive, and often provide as-good or better-than compiler-level quality information, but linked at a whole-program granularity. We like to say that with its APIs, you can get everywhere from anywhere.

License

This research was developed with funding from the Defense Advanced Research Projects Agency (DARPA). The views, opinions and/or findings expressed are those of the author and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.

Distribution Statement "A" (Approved for Public Release, Distribution Unlimited).

Owner

  • Name: Trail of Bits
  • Login: trailofbits
  • Kind: organization
  • Email: opensource@trailofbits.com
  • Location: New York, New York

More code: binary lifters @lifting-bits, blockchain @crytic, forks @trail-of-forks

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Multiplier
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Peter
    family-names: Goodman
    email: peter.goodman@gmail.com
    affiliation: Trail of Bits
  - given-names: Akshay
    family-names: Kumar
    email: iit.akshay@gmail.com
    affiliation: Trail of Bits
repository-code: 'https://github.com/trailofbits/multiplier'
abstract: >-
  Multiplier provides precise and comprehensive code
  understanding capabilities. It does so by saving build
  artifacts into a database, and then making them
  persistently accessible using a C++ or Python API.


  Multiplier emphasizes the ability to unique identify all
  entities in a build process, including individual tokens,
  AST nodes, and intermediate representations. With
  Multiplier, an analyst can identify code patterns of
  interest over one of the representations, and then
  accurately relay results back to humans in a readable
  form, or to follow-on scripts via entity IDs.


  Multiplier's APIs are extensive, and often provide as-good
  or better-than compiler-level quality information, but
  linked at a whole-program granularity. We like to say that
  with its APIs, you can get everywhere from anywhere.
keywords:
  - c
  - c++
  - clang
  - compiler
  - index
  - analysis
  - intermediate representation
  - ast
  - abstract syntax tree
  - parsing
license: Apache-2.0

GitHub Events

Total
  • Create event: 3
  • Issues event: 1
  • Release event: 2
  • Watch event: 31
  • Issue comment event: 13
  • Push event: 3
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 4
  • Fork event: 2
Last Year
  • Create event: 3
  • Issues event: 1
  • Release event: 2
  • Watch event: 31
  • Issue comment event: 13
  • Push event: 3
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 4
  • Fork event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 596
  • Total Committers: 14
  • Avg Commits per committer: 42.571
  • Development Distribution Score (DDS): 0.18
Past Year
  • Commits: 71
  • Committers: 6
  • Avg Commits per committer: 11.833
  • Development Distribution Score (DDS): 0.085
Top Committers
Name Email Commits
Peter Goodman p****n@g****m 489
kumarak i****y@g****m 47
Francesco Bertolaccini f****i@t****m 22
andreas a****s@w****m 8
Máté Kukri km@m****z 8
alan 1****x 5
William Tan 1****7 5
James Olds o****j 4
Sonya 6****r 2
Alessandro Gario 5****o 2
Jordan Moore l****6@p****m 1
Ikko Eltociear Ashimine e****r@g****m 1
Henrich Lauko x****o@m****z 1
Eric Kilmer e****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 101
  • Total pull requests: 104
  • Average time to close issues: 3 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 8
  • Total pull request authors: 12
  • Average comments per issue: 1.09
  • Average comments per pull request: 0.25
  • Merged pull requests: 91
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.89
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pgoodman (79)
  • alessandrogario (6)
  • wunused (5)
  • kumarak (4)
  • Ninja3047 (1)
  • bdemick (1)
  • PrachiP29 (1)
  • bsdb0y (1)
Pull Request Authors
  • pgoodman (37)
  • alessandrogario (24)
  • kumarak (20)
  • frabert (5)
  • ex0dus-0x (5)
  • wunused (4)
  • oldsj (3)
  • ndauten (2)
  • Ninja3047 (2)
  • bsdb0y (2)
  • ekilmer (1)
  • eltociear (1)
  • lockbox (1)
  • xlauko (1)
Top Labels
Issue Labels
enhancement (36) bug (34) priority-high (30) indexer (23) good first issue (22) ui (19) help wanted (14) priority-medium (13) priority-low (10) api (10) libpasta (8) debt (2) internal (2) bootstrap (1)
Pull Request Labels
indexer (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v4 composite
  • trail-of-forks/actions-setup-cmake master composite
Dockerfile docker
  • ${IMAGE} latest build