Skip to content
forked from Samsung/Dexter

Dexter is a static analysis platform to find and remove defects efficiently and immediately during the coding-time.

License

Notifications You must be signed in to change notification settings

mjakuszko/Dexter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dexter

Dexter helps you to improve coding skills. Whenever you save a source file, Dexter analyzes it and shows its improvements point on your editor in real-time.

Who needs Dexter?

  • A developer who sometimes forgets to check code quality (just like me !)
  • A developer who needs a peer reviewer (but you are shy)
  • A S/W engineering team member who wants to improve developers' code quality without annoying
  • A static analysis engine developer who needs UI and server-side features

Links

Downloads (ver. 0.9.0)

Eclipse Update Site

Dexter Daemon for Source Insight

Dexter CLI

Dexter Server

Supports

  • Eclipse IDE for Java language (Juno 4.2+)
  • Source Insight for C/C++ (3.50.0072+)
  • CLI for executing by a script (Jenkins, other editors)

Concepts

Dexter is a static analysis platform to find and remove defects efficiently and immediately during the coding-time. In addition, Dexter saves your learning cost because it contains multiple static analysis tools as a plug-in type.

How to build

(refer to detailed document : https://github.com/Samsung/Dexter/blob/master/doc/Dexter_Build_Guide.pdf)

Prerequisites

Import Dexter Projects into Eclipse

  • run with suffice memory (in eclipse.ini) : -Xmx1024m --launcher.XXMaxPermSize256m
  • make sure your text file encoding setting is 'UTF-8' : eclipse > Preferences > General > Workspace
  • import Dexter Projects that you already downloaded except dexter-server project
  • use 'gradle build' command in a command line console : '/project' folder
  • refresh all projects in eclipse, then all errors will be gone

Build Dexter CLI

  • use ant script on build-install.xml file in dexter-executor project
  • you can see the 'dexter-cli_#.#.#_bit.zip file in dexter-executor/install folder
  • after unzip this file, you can run dexter in a command line: unzip-folder/bin/dexter.bat or dexter.sh
  • before you run dexter.bat file, you have to set dexter_cfg.json file to set the scope of analysis (refer to dexter_cfg.json.help file)

Build Dexter Daemon for source insight

  • open dexter-daemon.product file in dexter-daemon project
  • click 'Eclipse Product export wizard' link on the 'Exporting' tab in a editor
  • set the fields - Root direoct:dexter-daemon Destination/Directory: your directory
  • click "Finish" button
  • check export folder, there will be dexter-daemon folder
  • run dexter.exe file, then you can see the login dialog
  • check 'Run in Standalong mode', then you can run dexter without Dexter Server
  • run source insight, and open 'Base' project
  • add 'project/script/dexter.em' macro file into 'Base' project
  • after editing and saving your source file, you will see the result of analysis in your editor and Dexter Daemon

Build Dexter Eclipse Plugins

  • create feature project in your eclipse
  • include all of dexter projects witout dexter-daemon and dexter-cppcheck project
  • create update site on the feature.xml file
  • include your feature and build all, then you will see the feature and plugins folders in you update project
  • you can make a update site or just copy plugin folder into your new eclipse
  • then, you can use Dexter

Future Plan

support more languages

  • JavaScript

support more IDEs

  • Tizen SDK
  • WebStorm
  • Android Studio
  • Enhance Source Insight

support more Static Analysis Open Source

  • Java: PMD, Checkstyle, etc.
  • JavaScript: Flow, JSHint
  • Custom Checkers

Dexter Web Monitor for organiztion(SE)

  • TBD

License

Dexter is BSD-licensed.

About

Dexter is a static analysis platform to find and remove defects efficiently and immediately during the coding-time.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 37.7%
  • JavaScript 29.3%
  • Java 14.1%
  • C++ 13.1%
  • Common Lisp 1.9%
  • TeX 1.4%
  • Other 2.5%