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.
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.
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.
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
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.
Author of tool: Hung Viet Nguyen
Personal website: http://home.engineering.iastate.edu/~hungnv/Personal/index.php