|
1 | | -# ArCode-Plugin |
| 1 | +This is the home of ArCode Plugin, a tool that facilitates architectural concerns comprehension and implementation. |
| 2 | + |
| 3 | +# What is ArCode Plugin? |
| 4 | +ArCode Plugin implements [ArCode](https://arxiv.org/abs/2102.08372) approach in an interactive IntelliJ IDEA plugin. |
| 5 | + |
| 6 | +# Obtaining ArCode Plugin |
| 7 | +In this section, we provide a step-by-step instruction to walk you through the process of building and using ArCode Plugin. |
| 8 | + |
| 9 | +## Use a released version |
| 10 | +Whenever we reach a stable version, we build the plugin and release it as a zip file. You can easily download the latest release from [here](../../releases/). |
| 11 | + |
| 12 | +## Building ArCode Plugin from source code |
| 13 | +In order to build the plugin from source code, you need to have gradle installed on your machine. The link to Gradle can be found from [here](https://gradle.org/). |
| 14 | +Please use below command to build the ArCode Plugin and install it on your IntelliJ IDEA: |
| 15 | +``` |
| 16 | +gradle buildPlugin publishPlugin |
| 17 | +``` |
| 18 | + |
| 19 | +If the process finishes with success, ArCode Plugin file is created and is ready to be used. |
| 20 | + |
| 21 | +# Using ArCode Plugin |
| 22 | +Once the plugin is installed on your IDE, you may find the ArCode Plugin menu from tools->ArCode menu. There are two sub-menus available. The first sub-menu, Settings, let you config ArCode Plugin. |
| 23 | +Second menu, ArCode Runner, will actually run ArCode. There are three main inputs to ArCode Plugin: |
| 24 | + |
| 25 | +1. Framework information |
| 26 | +2. Training projects' information |
| 27 | +3. Program under development information |
| 28 | + |
| 29 | +ArCode leverages static analysis techniques to extract some facts about API dependencies and usage constraint from the framework. It then analyzes programs in the training repository to identify programs that are not violating API usage constraint. Mining these programs, it builds an API usage model, called Framework API Specification (FSpec) model. Finally, it analyzes program under development to create its API usage model. Leveraging the built model alongside with created FSpec, ArCode Plugin finds deviations from correct implementation. It provides recommendations on how to fix the found issues in an interactive communication with programmer. |
| 30 | + |
| 31 | +# Tutorial |
| 32 | +A link to ArCode Plugin's tutorial will be added soon. |
| 33 | + |
| 34 | +# Contact |
| 35 | +Please do not hasitate to reach out to us should you have any question about ArCode. You may get in contact with us throught as8308 at rit dot edu. |
0 commit comments