TL;DR
ArCode is a novel learning-based tool that helps novice programmers correctly use application frameworks' APIs to implement architectural tactics and patterns, improving API recommendation and misuse detection accuracy.
Contribution
The paper introduces ArCode, a new approach combining graph-based learning, program analysis, and recommendation modules to assist in framework API usage for architectural patterns.
Findings
ArCode effectively learns framework specifications from limited data.
It accurately recommends next API calls based on code context.
It outperforms prior techniques in API recommendation and misuse detection.
Abstract
Software designers and developers are increasingly relying on application frameworks as first-class design concepts. They instantiate the services that frameworks provide to implement various architectural tactics and patterns. One of the challenges in using frameworks for such tasks is the difficulty of learning and correctly using frameworks' APIs. This paper introduces a learning-based approach called ArCode to help novice programmers correctly use frameworks' APIs to implement architectural tactics and patterns. ArCode has several novel components: a graph-based approach for learning specification of a framework from a limited number of training software, a program analysis algorithm to eliminate erroneous training data, and a recommender module to help programmers use APIs correctly and identify API misuses in their programs. We evaluated our technique across two popular…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
