Browsing Mathematics (Faculty of) by Subject "software engineering"
Now showing items 1-18 of 18
-
Adaptive Cross-Project Bug Localization with Graph Learning
(University of Waterloo, 2022-06-07)Bug localization is the process of identifying the source code files associated with a bug report. This is important because it allows developers to focus their efforts on fixing the bugs than finding the root cause of ... -
Adaptive Human-Chatbot Interactions: Contextual Factors, Variability Design and Levels of Automation
(University of Waterloo, 2023-12-05)The landscape of software development is undergoing a significant transformation characterized by various factors. A notable shift is the surging demand for software developers, driven by industries' increasing reliance ... -
API Parameter Recommendation Based on Documentation Analysis
(University of Waterloo, 2020-01-20)Application Programming Interfaces (APIs) are widely used in today's software development, as they provide a easy and safe way to build more powerful applications with less code. However, learning how to use an API function ... -
A Case Study of a Very Large Organization
(University of Waterloo, 2012-01-04)Very Large Organization (VLO) is an organization that produces hardware and software, which together form products. VLO granted access to data pertaining to seven different products and their development projects. One ... -
Comparison of Exact and Approximate Multi-Objective Optimization for Software Product Lines
(University of Waterloo, 2013-10-25)Software product lines (SPLs) manage product variants in a systematical way and allow stakeholders to derive variants by selecting features. Finding a desirable variant is hard, due to the huge configuration space and ... -
A Comparison of the Declarative Modelling Languages B, Dash, and TLA+
(IEEE, 2019-08)Declarative behavioural modelling is a powerful modelling paradigm that enables users to model system func- tionality abstractly and concisely. We compare two well-used formal declarative modelling languages, B and TLA+, ... -
Completeness of Fact Extractors and a New Approach to Extraction with Emphasis on the Refers-to Relation
(University of Waterloo, 2008-08-19)This thesis deals with fact extraction, which analyzes source code (and sometimes related artifacts) to produce extracted facts about the code. These facts may, for example, record where in the code variables are declared ... -
Detecting Exploitable Vulnerabilities in Android Applications
(University of Waterloo, 2021-05-27)The world is moving towards remote-first and giving rise to many mobile tools and applications to get the work done. As more applications are moving towards the cloud and therefore require remote access, the attack surface ... -
Detecting Test Clones with Static Analysis
(University of Waterloo, 2013-09-27)Large-scale software systems often have correspondingly complicated test suites, which are diffi cult for developers to construct and maintain. As systems evolve, engineers must update their test suite along with changes ... -
An Empirical Study on Bash Language Usage in Github
(University of Waterloo, 2021-05-27)The Bourne-again shell (Bash) is a prevalent scripting language for orchestrating shell commands and managing resources in Unix-like environments. At the time of writing, it is one of the mainstream shell dialects that ... -
How Programmers Comment When They Think Nobody's Watching
(University of Waterloo, 2014-04-17)Documentation is essential to software development. Experienced programmers know this well from having worked with poorly documented code. They wish to improve their documentation techniques and habits, but there is ... -
An Interface-based Modular Approach for Designing Distributed Event-based Systems
(University of Waterloo, 2008-04-25)A Distributed Event-based System (DEBS) exhibits its desired behavior through its functional components collaborating with each other via event exchanging. Due to loose-coupling and flexibility, DEBS applications have ... -
JITGNN: A Deep Graph Neural Network for Just-In-Time Bug Prediction
(University of Waterloo, 2022-05-10)Just-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, ... -
On the Maintenance Costs of Formal Software Requirements Specification Written in the Software Cost Reduction and in the Real-time Unified Modeling Language Notations
(University of Waterloo, 2005)A formal specification language used during the requirements phase can reduce errors and rework, but formal specifications are regarded as expensive to maintain, discouraging their adoption. This work presents a ... -
Predicting Test Suite Effectiveness for Java Programs
(University of Waterloo, 2012-07-26)The coverage of a test suite is often used as a proxy for its effectiveness. However, previous studies that investigated the influence of code coverage on test suite effectiveness have failed to reach a consensus about ... -
A Query-Based Approach for the Analysis of Aspect-Oriented Systems
(University of Waterloo, 2007-01-29)In recent years, many aspect-oriented languages and methods have been proposed in the literature to support separation of concerns that can be spread throughout a software system and its components and to facilitate ... -
Software Engineering for Big Data Systems
(University of Waterloo, 2017-04-24)Software engineering is the application of a systematic approach to designing, operating and maintaining software systems and the study of all the activities involved in achieving the same. The software engineering discipline ... -
Source Code Stylometry and Authorship Attribution for Open Source
(University of Waterloo, 2019-09-23)Public software repositories such as GitHub make transparent the development history of an open source software system. Source code commits, discussions about new features and bugs, and code reviews are stored and carefully ...