ArCode: A Tool for Supporting Comprehension andImplementation of Architectural Concerns

03/11/2021
by   Ali Shokri, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/16/2021

ArCode: Facilitating the Use of Application Frameworks to Implement Tactics and Patterns

Software designers and developers are increasingly relying on applicatio...
research
12/07/2021

IntelliTC: Automating Type Changes in IntelliJ IDEA

Developers often change the types of program elements. Such a refactorin...
research
05/05/2021

Don't forget your classics: Systematizing 45 years of Ancestry for Security API Usability Recommendations

Producing secure software is challenging. The poor usability of security...
research
07/09/2018

RACK: Automatic API Recommendation using Crowdsourced Knowledge

Traditional code search engines often do not perform well with natural l...
research
01/30/2018

Automatically Leveraging MapReduce Frameworks for Data-Intensive Applications

MapReduce is a popular programming paradigm for running large-scale data...
research
07/21/2020

Source Data for the Focus Area Maturity Model for API Management

We define API Management as an activity that enables organizations to de...
research
12/02/2018

Ann: A domain-specific language for the effective design and validation of Java annotations

This paper describes a new modelling language for the effective design a...

Please sign up or login with your details

Forgot password? Click here to reset