Skip to content

Commit 24e4cf2

Browse files
committed
Merge remote-tracking branch 'origin/main' into main
2 parents 2597cc0 + 6416a4d commit 24e4cf2

1 file changed

Lines changed: 35 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,35 @@
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

Comments
 (0)