Git Product home page Git Product logo

icse-2013-drc's Introduction

ICSE-2013-DRC

This repository contains information related to the tool Dangling Reference Checker (DRC) presented at the International Conference on Software Engineering, 2013. The tool was originally presented in this paper.

This repository is not the original repository for this tool. Here are some links to the original project:

In this repository for DRC, you will find:

  • ✅ The plugin archives needed to install the DRC plugin for your Eclipse installation
  • ✅ The original source code (plugin project) for the tool (Commit 2cbd46ed1b9a50eeb517126ba034d78ee885f63b)
  • ✅ A slightly modified version of the source code, Jayant Dhawan got working

This repository was constructed by Jayant Dhawan under the supervision of Emerson Murphy-Hill. Thanks to Hung Hung Viet Nguyen (one of the authors of the tool) for his help in resolving tool dependencies.


Instructions

If you simply want to install the DRC plugin for your Eclipse software, you only need to look in the /plugins directory described below. However, if you'd like to view the source code behind the plugin, then you need to know that the source code of this tool is composed of five Eclipse plugin projects, that can be imported into Eclipse and built. The directories of interest for this purpose are /projects and /dependencies.

Description of /plugins

If you want to get the DRC tool up and running in your Eclipse software, just copy the five .jar files in this directory to the dropins folder of your Eclipse installation. Usually, this folder is located at /usr/share/eclipse/dropins/. Then run Eclipse from a shell by executing eclipse -clean in the terminal. This will force Eclipse to clean its caches before starting.

Description of /projects

Contains the following Eclipse projects that compose the source code for the DRC plugin:

  • Data Model: Symbolic executor for PHP
  • Html Partial Parser: Parser for the output of symbolic execution
  • Web Entities: Detection of embedded entities and dangling references
  • edu.iastate.hungnv.babelref: Eclipse plugin for showing embedded entities and dangling references (provided by edu.iastate.hungnv.babelref.ui.views.ERefEntityView)
  • Util: Utilities project

Description of /dependencies

Apart from being interdependent, the projects also have dependencies on external Eclipse plugins. These plugins that the projects in this repository depend on are provided in the dependencies folder. The recommended way of using the dependencies is copying all files included in the dependencies folder to the plugin folder of your Eclipse install directory. On Linux-based systems, generally, this directory is located at /usr/share/eclipse/plugins, but it may differ based on your Eclipse installation.

It is important to note here that the dependencies are already listed in the .classpath file in each of the projects. Depending on the location of these plugins under the Eclipse directory, changes may be required to the path attributes for the classpathentry in the .classpath files for the projects. This may be done manually by editing the .classpath files, or by using the Build Path -> Configure Build Path option for the Eclipse projects.

Attribution

Author of tool: Hung Viet Nguyen

Personal website: http://home.engineering.iastate.edu/~hungnv/Personal/index.php

icse-2013-drc's People

Contributors

jayantdhawan avatar akumar21 avatar

Watchers

 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.