-
Notifications
You must be signed in to change notification settings - Fork 27
The MagpieBridge System
MagpieBridge needs to support various analysis tools that were built on top of different frameworks, e.g., TAJ, Andromeda and HybriDroid use WALA, while CogniCrypt, FlowDroid and DroidSafe rely on Soot and many other analyses are based on Doop. These analysis frameworks have different IRs, which MagpieBridge needs to use to generate analysis results. One key requirement for all the frameworks supported by MagpieBridge is very precise source-code mappings, since in LSP all the messages communicate using starting and ending line and column numbers. The following figure shows how MagpieBridge achieves this requirement for analyses based on different frameworks for analyzing Java applications.
WALA has also Python and JavaScript front ends. Thus, any WALA-based analysis for Python and JavaScript can be integrated into IDEs and editors with MagpieBridge. Moreover, MagpieBridge has been designed in a general way such that any analysis which has a command line interface and outputs analysis results with source code information can use MagpieBridge for IDE integration.
Here is an example of integrating the command line tool Facebook Infer with MagpieBridge.
- Home
- The MagpieBridge System
- The MagpieBridge Workflow
- Tutorial 1. Create your first project with MagpieBridge for soot based analysis
- Tutorial 2. Display any results in IDEs with MagpieBridge
- Tutorial 3. How To Install a GitHub Maven Package
- Tutorial 4. Set up logger and tracer
- Tutorial 5. MagpieServer Configuration Explained
- Tutorial 6. Integrate CLI Tool into IDEs with MagpieBridge
- Tutorial 7. Supported IDE Features Explained
- Tutorial 8. Supported Code Actions Related To A Diagnostic
- Tutorial 9. Different Analysis Types Explained
- Tutorial 10. ProjectService Explained
- Tutorial 11. Configure different IDEs to use your MagpieBridge-based server