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.
翻译:综合开发环境(IDE)在方案理解和完成期间在支持开发者方面发挥着重要作用。许多这些支持性功能侧重于低层次的编程和调试活动。不幸的是,在理解和执行建筑问题时,没有以模式、战术和/或其他关切的形式给予多少支持。本文介绍ARCode,这是设计作为受欢迎的IDE插件的工具,IntelliJIDE。ArCode能够学习正确的方式,利用框架API实施建筑问题,如认证和授权。分析程序员的代码,这一工具能够发现偏离正确执行的偏差,并在图形演示的同时提供固定的建议,以便更好地与开发者沟通建议。我们展示了程序员如何从ArCode中受益,为著名的爪哇框架“爪哇认证和授权”安全框架提供API误用检测和API建议情景。