Show simple item record

dc.contributor.authorKeshavarz, Hossein
dc.date.accessioned2022-05-10 17:39:49 (GMT)
dc.date.available2022-05-10 17:39:49 (GMT)
dc.date.issued2022-05-10
dc.date.submitted2022-05-04
dc.identifier.urihttp://hdl.handle.net/10012/18248
dc.description.abstractJust-In-Time (JIT) bug prediction is the problem of predicting software failure immediately after a change is submitted to the code base. JIT bug prediction is often preferred to other types of bug prediction (subsystem, module, file, class, or function-level) because changes are associated with one developer, while the entities that are predicted to be defective in other forms of bug predictions might be developed by multiple developers. JIT bug prediction can be applied when the design decisions are fresh in the developer's mind; therefore, it takes less effort to review the change and fix the potential issues. Over the years, many approaches have been proposed to tackle the JIT bug prediction problem. These methods mainly rely on the change metrics such as the size of the change, the number of modified files in the change, and the experience of the author. Little work has been done on the inclusion of the syntax and semantics of the change in JIT models. Also, although there has been extensive work on employing deep learning models for other forms of bug prediction, there are not many deep models for JIT bug prediction. None of the existing JIT models in which the changed code is included, consider the graph structure of source codes and the change codes are considered as plain text in these models. In this work, we propose a JIT model that incorporates both the content and metadata of changes leveraging the graph structure of programs. To this end, we designed and built \textit{JITGNN}, a deep graph neural network (GNN) framework for JIT bug prediction. JITGNN uses the abstract syntax trees (ASTs) of changed programs. We evaluate the performance of JITGNN on two datasets and compare it to a baseline and the state-of-the-art JIT models. Our study shows that JITGNN achieves the same AUC as the state-of-the-art model (JITLine), which does not consider the code structure of source codes, and they both have the same discriminatory power.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjectjust-in-time bug predictionen
dc.subjectsoftware engineeringen
dc.subjectgraph neural networksen
dc.subjectdeep learningen
dc.subjectbug predictionen
dc.subjectmachine learningen
dc.titleJITGNN: A Deep Graph Neural Network for Just-In-Time Bug Predictionen
dc.typeMaster Thesisen
dc.pendingfalse
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.degreeMaster of Mathematicsen
uws-etd.embargo.terms0en
uws.contributor.advisorNagappan, Meiyappan
uws.contributor.affiliation1Faculty of Mathematicsen
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages