Skip to content

Latest commit

 

History

History
6 lines (4 loc) · 1.97 KB

README.md

File metadata and controls

6 lines (4 loc) · 1.97 KB

A USER-INTERACTIVE MACHINE LEARNING MODEL FOR STRUCTURAL CODE PATTERN CLASSIFICATION

Kartik Chugh¹, Ankit Gupta¹, Andrea Solis¹, Thomas D. LaToza Ph. D
George Mason University; Fairfax, VA, USA

Traditional machine learning-based intelligent systems assist users by learning patterns in data and making recommendations. However, these systems are limited in that the user has little means of understanding the rationale behind the system’s suggestions, communicating their own understanding of patterns, or correcting the system’s behavior. In this project, we outline a model for intelligent software based on a human-computer feedback loop: the Machine Learning (ML) system’s recommendations are reviewed by the user, and in turn, this information shapes the system’s decision-making. Our model was applied to developing an HTML editor that integrates ML with user interaction to ascertain structural relationships between HTML document features and apply them for code completion. The editor utilizes the ID3 algorithm to build decision trees — sequences of rules for predicting code the user will type. The editor displays the decision trees’ rules in the Interactive Rules Interface System (IRIS), which allows developers to prioritize, modify, or delete them. These interactions alter the data processed by ID3, providing the developer some control over the autocomplete system. Validation indicates that — absent user interaction — the ML model is able to predict tags with 78.4% accuracy, attributes with 62.9% accuracy, and values with 12.8% accuracy. We hypothesize that user interaction with the rules interface will correct feature relationships missed or mistaken by the automated process, enhancing autocomplete accuracy and developer productivity. Additionally, interaction is expected to help developers work with greater awareness of code patterns. Our research demonstrates the viability of a software integration of machine intelligence with human feedback.