Measuring developer experience with abstract syntax trees
dc.contributor.author | Deutekom, Steven M. | |
dc.contributor.author | University of Lethbridge. Faculty of Arts and Science | |
dc.contributor.supervisor | Rice, Jacqueline E. | |
dc.contributor.supervisor | Anvik, John | |
dc.date.accessioned | 2023-11-30T16:50:12Z | |
dc.date.available | 2023-11-30T16:50:12Z | |
dc.date.issued | 2023 | |
dc.degree.level | Masters | |
dc.description.abstract | Accurately representing a developer's programming knowledge and experience is difficult. Traditional metrics rely on counting the number of times a developer has used or made changes to pieces of code. When a developer has modified a file in the past they are less likely to introduce defects with a change. However, these metrics do not contain any general information on the structure or purpose of a piece of code and are only useful when developers work on a piece of code more than once. We investigated the use of several new metrics based on abstract syntax trees (ASTs) as a possible way to more completely measure a developer's experience. By using the ASTs of code previously modified by a developer we may be able to identify their experience with a piece of code they are modifying even if they have never modified that specific code before. Through statistical analysis and machine learning predictions we show that AST-based metrics capture a more general programming experience than count-based metrics. In their current form, AST-based metrics do not offer any significant improvements over existing metrics for defect prediction. However, our work offers a starting point for future use of ASTs for representation of knowledge and experience in defect prediction and other relevant areas. | |
dc.identifier.uri | https://hdl.handle.net/10133/6638 | |
dc.language.iso | en | |
dc.proquestyes | No | |
dc.publisher | Lethbridge, Alta. : University of Lethbridge, Dept. of Mathematics and Computer Science | |
dc.publisher.department | Department of Mathematics and Computer Science | |
dc.publisher.faculty | Arts and Science | |
dc.relation.ispartofseries | Thesis (University of Lethbridge. Faculty of Arts and Science) | |
dc.subject | software developer's experience | |
dc.subject | measuring developer's knowledge | |
dc.subject | programming expertise | |
dc.subject | evaluation metrics | |
dc.subject | abstract syntax trees | |
dc.subject | coding modifications | |
dc.subject.lcsh | Computer programmers | |
dc.subject.lcsh | Expertise--Evaluation | |
dc.subject.lcsh | Ability--Evaluation | |
dc.subject.lcsh | Compilers (Computer programs) | |
dc.subject.lcsh | Execution traces (Computer program testing) | |
dc.subject.lcsh | Dissertations, Academic | |
dc.title | Measuring developer experience with abstract syntax trees | |
dc.type | Thesis |