Coder Social home page Coder Social logo

pkalita595 / safe Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexjordan/safe

0.0 0.0 0.0 250.25 MB

Scalable Analysis Framework for ECMAScript

License: Other

Python 0.30% JavaScript 30.71% Shell 0.20% Batchfile 0.01% Scala 8.06% C 0.51% Java 2.09% C++ 30.55% Makefile 0.04% Lex 0.07% Yacc 0.39% Objective-C 0.47% GAP 0.01% CSS 4.64% XSLT 0.03% Perl 0.01% Objective-J 5.83% HTML 16.03% Jasmin 0.01% Groff 0.07%

safe's Introduction

SAFE

News

SAFE is now available at GitHub. Older versions are still available at:

http://safe.kaist.ac.kr

but note that we use sbt instead of ant to build SAFE, which required slight restructuring of source directories.

Introduction

SAFE is a scalable and pluggable analysis framework for JavaScript web applications developed by the Programming Language Research Group at KAIST:

http://plrg.kaist.ac.kr

We provide a formal specification of the SAFE framework:

http://plrg.kaist.ac.kr/redmine/projects/jsf/repository/revisions/master/show/doc/manual

and our papers on SAFE are available at:

Our academic colleagues using SAFE are:

and our project has been supported by:

  • Korea Ministry of Education, Science and Technology(MEST)
  • National Research Foundation of Korea(NRF)
  • Samsung Electronics
  • S-Core., Ltd.
  • Google
  • Microsoft Research Asia

Requirements

We assume you are using an operating system with a Unix-style shell (for example, Mac OS X, Linux, or Cygwin on Windows). Assuming JS_HOME points to the SAFE directory, you will need to have access to the following:

In your shell startup script, add $JS_HOME/bin to your path. The shell scripts in this directory are Bash scripts. To run them, you must have Bash accessible in /bin/bash.

Installation

After launching sbt, type antRun clean compile and then compile.

Once you have built the framework, you can call it from any directory, on any JavaScript file, simply by typing one of available commands at a command line. You can see the available commands by typing:

bin/jsaf
bin/jsaf help

Run Tests

Still inside sbt, type antRun test.

CRES: Clone Refactor for ECMAScript

====

CRES is an open-source clone refactoring plugin for Eclipse.

Installation

  1. Install the following using Eclipse's update manager:
  • Eclipse 4 Core Tools. [Update Site] e4
  • JavaScript Development Tools. [Update Site] JSDT
  1. Copy the file kr.ac.kaist.jsaf.clone_refactor_[osx|linux].jar in the [dist] disturl directory to the plugins directory of Eclipse
  2. Restart Eclipse

Usage

  1. Launch the plugin from the menu or toolbar of Eclipse.
  2. From the Configuration Dialog, select a project from the workspace to be analyzed and configure the minimum size of clones.
  3. From the Clone View,
  • Double click any fragments to view the duplicated portion in the text editor.
  • Select two duplicated fragments from the same group and compare their differences using Compare from the toolbar.
  • Select at least two duplicated fragments from the same group and view the refactoring suggestions using Pull Up Method from the toolbar.

safe's People

Contributors

sukyoung avatar helloworld017 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.