Comby

Comby

  • Get started
  • Docs
  • Projects & Talks
  • GitHub
  • Blog

Projects and Talks

Projects

Comby is used for...

  • Large scale refactoring - Browse some small refactors merged into some of the most popular repos on GitHub for many languages.
  • RustRust compilercoreutilsfdexaJavascriptangular.jsRocket.Chat
    GoprometheushelmclircloneDartDart SDKsqflite
    Scalascala-jsAmmonitePythonmatplotlibpowerline
    CPHP interpreterradare2Clojurepedestal

    Find more ideas for refactors in an example catalog of patterns.

  • Structural code search - Comby is used to power language-aware code search at scale
  • Fuzzing - Language-aware compiler fuzzing and test case reduction
  • Editor find-and-replace - There is an Emacs package and a prototype VS Code extension
  • Academic research in software engineering
    • Suppressing analyzer false positives
    • Manipulating domain-specific languages for autonomic systems
  • HTML in personal projects

Want to share something you've used Comby for? Send a PR.

Talks

  • Tailoring Programs for Static Analysis via Program Transformation
    International Conference on Software Engineering, July 2020
    Abstract   Slides   Paper   Talk Recording

  • Parser Parser Combinators for Program Transformation
    Strangloop, September 2019
    Abstract   Slides   Talk Recording

  • Bug Hunting with Structural Code Search
    CactusCon, December 2019
    Abstract   Slides   Talk Recording (turn on subtitles)

© 2022 @rvtond · Get started · Docs · Projects & Talks · Blog · Twitter