ArCode: A Tool for Supporting Comprehension andImplementation of Architectural Concerns
This addresses a specific problem for software developers by improving tool support for architectural implementation, though it is incremental as it builds on existing IDE features.
The paper tackles the lack of IDE support for understanding and implementing architectural concerns by presenting ArCode, a plugin for IntelliJ IDEA that learns correct API usage for patterns like Authentication and Authorization, detects deviations, and provides fix recommendations with graphical demonstrations, as demonstrated with the JAAS framework.
Integrated development environments (IDE) play an important role in supporting developers during program comprehension and completion. Many of these supportive features focus on low-level programming and debugging activities. Unfortunately, there is less support in understanding and implementing architectural concerns in the form of patterns, tactics and/or other concerns. In this paper we present ArCode, a tool designed as a plugin for a popular IDE, IntelliJ IDEA. ArCode is able to learn correct ways of using frameworks' API to implement architectural concerns such as Authentication and Authorization. Analyzing the programmer's code, this tool is able to find deviations from correct implementation and provide fix recommendations alongside with graphical demonstrations to better communicate the recommendations with the developers. We showcase how programmers can benefit from ArCode by providing an API misuse detection and API recommendation scenario for a famous Java framework, Java Authentication and Authorization (JAAS) security framework.