All Projects → sorra → Exia

sorra / Exia

Licence: other
Million-scale code analysis and refactoring toolkit for Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Exia

Sparrow
The Sparrow Static Analyzer
Stars: ✭ 96 (+128.57%)
Mutual labels:  static-analyzer
Phpmd
PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.
Stars: ✭ 1,992 (+4642.86%)
Mutual labels:  static-analyzer
Fortran-Tools
Fortran compilers, preprocessors, static analyzers, transpilers, IDEs, build systems, etc.
Stars: ✭ 31 (-26.19%)
Mutual labels:  static-analyzer
Phpstan
PHP Static Analysis Tool - discover bugs in your code without running it!
Stars: ✭ 10,534 (+24980.95%)
Mutual labels:  static-analyzer
Tip
Static program analysis for TIP
Stars: ✭ 140 (+233.33%)
Mutual labels:  static-analyzer
Insider
Static Application Security Testing (SAST) engine focused on covering the OWASP Top 10, to make source code analysis to find vulnerabilities right in the source code, focused on a agile and easy to implement software inside your DevOps pipeline. Support the following technologies: Java (Maven and Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C#, and Javascript (Node.js).
Stars: ✭ 216 (+414.29%)
Mutual labels:  static-analyzer
Codechecker
CodeChecker is an analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy
Stars: ✭ 1,209 (+2778.57%)
Mutual labels:  static-analyzer
sonarlint4netbeans
SonarLint integration for Apache Netbeans
Stars: ✭ 23 (-45.24%)
Mutual labels:  static-analyzer
Tajs
Type Analyzer for JavaScript
Stars: ✭ 150 (+257.14%)
Mutual labels:  static-analyzer
lints
Lint all your JavaScript, CSS, HTML, Markdown and Dockerfiles with a single command
Stars: ✭ 14 (-66.67%)
Mutual labels:  static-analyzer
Grepbugs
A regex based source code scanner.
Stars: ✭ 118 (+180.95%)
Mutual labels:  static-analyzer
Sonar Pmd
☕️ PMD Plugin for SonarQube
Stars: ✭ 139 (+230.95%)
Mutual labels:  static-analyzer
Scan Build
Clang's scan-build re-implementation in python
Stars: ✭ 224 (+433.33%)
Mutual labels:  static-analyzer
Tailor
Cross-platform static analyzer and linter for Swift.
Stars: ✭ 1,370 (+3161.9%)
Mutual labels:  static-analyzer
sonar-css-plugin
SonarQube CSS / SCSS / Less Analyzer
Stars: ✭ 46 (+9.52%)
Mutual labels:  static-analyzer
Phpinspectionsea
A Static Code Analyzer for PHP (a PhpStorm/Idea Plugin)
Stars: ✭ 1,211 (+2783.33%)
Mutual labels:  static-analyzer
Phpmetrics
Beautiful and understandable static analysis tool for PHP
Stars: ✭ 2,180 (+5090.48%)
Mutual labels:  static-analyzer
unimport
unimport is a Go static analysis tool to find unnecessary import aliases.
Stars: ✭ 64 (+52.38%)
Mutual labels:  static-analyzer
phpstan-nette
Nette Framework class reflection extension for PHPStan & framework-specific rules
Stars: ✭ 87 (+107.14%)
Mutual labels:  static-analyzer
Dg
[LLVM Static Slicer] Various program analyses, construction of dependence graphs and program slicing of LLVM bitcode.
Stars: ✭ 242 (+476.19%)
Mutual labels:  static-analyzer

Exia

A tooling framework for analyzing and modifying large codebases automatically.

Proved on 2 million lines of code.

Supports Java 6/7/8 (Modification on Java 8 code is not fully tested).

Usage

Requirement: JDK 8

Build: gradle shadowJar

Run: java -jar build/libs/exia-2.0-all.jar [solver-name] [paths-being-scanned...]

For example: java -jar build/libs/exia-2.0-all.jar UnusedImportDeletor /home/sorra/projects/


To learn how to write your own tool, see examples in the package com.iostate.exia.solvers about how to:

  1. Remove unused imports
  2. Detect the places you have forgotten to write logger.isDebugEnabled()
  3. Fix the places you have forgotten to write logger.isDebugEnabled()
  4. Fix the misuse of logger.error(...) API
  5. Fix the wrong logger name mismatching its enclosing class

There are two extension points: FileFilter & AstFunction. Implement them and call FileWalker to run your own operations.
(The default FileFilter is com.iostate.exia.api.JavaSourceFileFilter)

The package com.iostate.exia.ast provides convenient AST utilities.

What's new in 2.0?

  • Implemented in Java 8.
  • Upgraded JDT library to 3.12.3 in maven central.
  • Changed the build tool to Gradle.
  • Single-threaded (fast enough, why not make it easy to debug?)
  • Better API.
  • More useful examples.
  • Will add intelligence.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].