Skip to content

JB Personal Research Page

James Pryor edited this page Mar 3, 2026 · 2 revisions

My personal contributions involve having read the following papers:

  • Title: Combining Similarity Metrics with Abstract Syntax Trees to Gain Insights into How Students Program

    • Author list: Manuel Freire-Morán
    • Summary: This paper presents a prototype system for analyzing how students revise their code over time. Rather than using text based comparisons using diff it uses ASTs to understand the changes in the code structure, to gain a better understanding of a student's learning process. The use of ASTs rather than diff allows insight on meaningful changes with the program structure rather than simple text changes.
  • Title: Improving the Performance of Code Vulnerability Prediction using Abstract Syntax Tree Information

    • Author list: Fahad Al Debeyan, Tracy Hall, David Bowes
    • Summary: This paper tackles the problem of software vulnerability prediction, assessing where certain sections of code might contain securities. It focuses specifically on using ASTs to gain a deeper understanding of a program's structure versus traditional approaches that treat code as a sequence of tokens or plain text. Through the use of ASTs they are able to get noticeably better results for vulnerability prediction models.
  • Title: Flexible Tree Matching

    • Author List: Ranjitha Kumar, Jerry O. Talton, Salman Ahmad, Tim Roughgarden, Scott R. Klemmer
    • Summary: This paper presents the problem that traditional tree matching methods are rigid, enforcing strict preservation of ancestry and sibling order, which can be too restrictive for many real world applications. This paper introduces flexible tree matching, a tunable approach that assigns costs to differences in node labels, ancestry, and sibling groupings, allowing the user to control the relative importance of these factors. The problem is NP-complete, meaning that finding an exact perfect solution efficiently is not possible. To address this, the authors propose a stochastic approximation algorithm that uses randomness to find solutions that are good enough. Specifically, the approach employs Monte Carlo methods, which repeatedly explore random matchings to improve the solution. Additionally, the algorithm can learn and fine tune the cost parameters from example matchings to better fit the target domain.

Clone this wiki locally