↓ Skip to Main Content
  • Home
  • Documents
    • Installing ROSE
    • ROSE API
    • Tool User Guide
    • Tool Developer Guide
    • Core Developer Guide
    • Software Quality Assurance Plan
    • White Papers
    • Publications
  • Tools
  • Projects
  • Github
  • Recent News

ROSE Compiler

Program Analysis and Transformation

ROSE is a robust, open source, compiler-based infrastructure for building source to source program transformation and analysis tools developed at Lawrence Livermore National Laboratory. ROSE Tools can process large C, C++, Fortran, OpenMP, and UPC source codes, as well as binary executables.

ROSE is particularly well suited for building custom tools for static analysis, program optimization, arbitrary program transformation, domain-specific optimizations, complex loop optimizations, performance analysis, and cyber-security analysis.

ROSE users include experienced compiler researchers as well as tool users and developers with minimal compiler experience.

ROSE users fall into one or more of the following categories, depending on what they want to accomplish. Choose the starting point that is right for you:

Tool User

Use an existing ROSE Tool to examine, analyze, or transform code. Get started with the Tool User Guide.

Some Tools

  • Typeforge
    • Transform type inside of a program.
  • Outliner
    • Replace a block of consecutive statements with a function call
  • autoPar
    • Automatic parallelization using OpenMP

Tool Developer

Write a ROSE Tool using the ROSE Core library. Get started with the Tool Developer Guide.

  • Multiple languages with single API
  • Source Code transformations API
  • Readable source code output
  • Compiler based source code and binary analysis

Core Developer

Update and extend the ROSE Core library. Get started with the Core Developer Guide.

  • Open Source Compiler Infrastructure with BSD License
  • Strong Academic Collaboration
  • Abundant API documentation
©2023 Rose Compiler
| Powered by Responsive Theme