This decommissioned ERA site remains active temporarily to support our final migration steps to https://ualberta.scholaris.ca, ERA's new home. All new collections and items, including Spring 2025 theses, are at that site. For assistance, please contact erahelp@ualberta.ca.
Search
Skip to Search Results- 1Acceptance Testing
- 1Automated Program Repair
- 1Bug Triage
- 1Bug report triaging
- 1Crash Reports
- 1Defect Detection
-
Fall 2013
already reported. Hence, many reports end up referring to the same issue, which effectively makes the bug-report triaging process time consuming and error prone. Many researchers have approached the bug-deduplication problem using off-the-shelf information-retrieval tools. In this thesis, we extend the
Android, Eclipse, Mozilla, and OpenOffice Software Systems. Based on this experience, we conclude that researchers should not ignore the context of the software engineering domain for deduplication.
-
Application of Natural Language Processing and Information Retrieval in Two Software Engineering Tools
DownloadFall 2021
Many software engineering problems have traditionally been approached by applying techniques based on static analysis and fixed sets of rules. I created two novel techniques to tackle three software engineering problems: typo location, fix suggestion, and crash report bucket creation. However
) software crash reports. In all cases, performance (in terms of F1-score) matched or beat commonly used rule-based techniques. The TF-IDF-driven approach can adapt automatically to patterns in crash reports as they evolve. Additionally, several side benefits arose from using statistical techniques.Some
-
Spring 2019
Software Product Line Engineering (SPLE) creates configurable platforms that can be used to efficiently produce similar, and yet different, product variants. To implement SPLs, multiple variability implementation mechanisms have been suggested, including polymorphism. In this thesis, we talk about
make better design decisions on which variability extension points should be switched from static polymorphism to dynamic polymorphism. In addition, we report on our first hand experience of changing the polymorphism used in OMR's variability implementation mechanism from static to dynamic, the
-
Spring 2013
, maintenance and testing of this type of web applications. In this work we address two important challenges in the field of web application maintenance. The first challenge is that of modelling web application behaviour. To solve this task we develop an automatic method for reverse engineering the features of
dynamic web applications by applying a hierarchical clustering algorithm based on a novel composite-tree-edits-aware distance metric between DOM tree instances of a web application. The proposed distance metric recognizes simple and composite structural changes in a DOM tree. We have evaluated our method
-
Fall 2018
There is a wealth of software development artifacts such as source code, issue reports, and revision histories, contained within publicly-accessible and privately-accessible repositories. Mining this data presents myriad opportunities that may benefit future software development efforts; however it
the build; clustering crash reports in a scalable and time-efficient manner; and detecting and correcting syntax errors in code written by novices. This thesis empirically demonstrate the effectiveness of these tools on real world software repositories. I conclude by suggesting ways of further
-
Fall 2021
notoriously incomplete, giving rise to a large crop of reasoning tools for the task of Link Prediction, aimed at finding missing links in the graph based on structural regularities in the graph. Among the many LP methods, those based on embeddings have become prevalent in the literature. In particular, multi
\HOPLOP, whose main predicate is to perform ``traversals'' on the embedding space instead of the KG itself. We show how to train and tune our method, and report on experiments with different representative embedding-based LP methods on many benchmarks, showing that \HOPLOP improves each LP method on its