Open Access. Powered by Scholars. Published by Universities.®

Software Engineering Commons™

Open Access. Powered by Scholars. Published by Universities.®

2020

Discipline
Institution
Keyword
Publication
Publication Type
File Type

Articles 121 - 150 of 272

Full-Text Articles in Software Engineering

Recovering Fitness Gradients For Interprocedural Boolean Flags In Search-Based Testing, Yun Lin, Jun Sun, Gordon Fraser, Ziheng Xiu, Ting Liu, Jin Song Dong Jul 2020

Recovering Fitness Gradients For Interprocedural Boolean Flags In Search-Based Testing, Yun Lin, Jun Sun, Gordon Fraser, Ziheng Xiu, Ting Liu, Jin Song Dong

Research Collection School Of Computing and Information Systems

In Search-based Software Testing (SBST), test generation is guided by fitness functions that estimate how close a test case is to reach an uncovered test goal (e.g., branch). A popular fitness function estimates how close conditional statements are to evaluating to true or false, i.e., the branch distance. However, when conditions read Boolean variables (e.g., if(x && y)), the branch distance provides no gradient for the search, since a Boolean can either be true or false. This flag problem can be addressed by transforming individual procedures such that Boolean flags are replaced with numeric comparisons that provide better guidance for …


Global Pac Bounds For Learning Discrete Time Markov Chains, Hugo Bazille, Blaise Genest, Cyrille Jegourel, Jun Sun Jul 2020

Global Pac Bounds For Learning Discrete Time Markov Chains, Hugo Bazille, Blaise Genest, Cyrille Jegourel, Jun Sun

Research Collection School Of Computing and Information Systems

Learning models from observations of a system is a powerful tool with many applications. In this paper, we consider learning Discrete Time Markov Chains (DTMC), with different methods such as frequency estimation or Laplace smoothing. While models learnt with such methods converge asymptotically towards the exact system, a more practical question in the realm of trusted machine learning is how accurate a model learnt with a limited time budget is. Existing approaches provide bounds on how close the model is to the original system, in terms of bounds on local (transition) probabilities, which has unclear implication on the global behavior. …


Privacy-Enhanced Remote Data Integrity Checking With Updatable Timestamp, Tong Wu, Guomin Yang, Yi Mu, Rongmao Chen, Shengmin Xu Jul 2020

Privacy-Enhanced Remote Data Integrity Checking With Updatable Timestamp, Tong Wu, Guomin Yang, Yi Mu, Rongmao Chen, Shengmin Xu

Research Collection School Of Computing and Information Systems

Remote data integrity checking (RDIC) enables clients to verify whether the outsourced data is intact without keeping a copy locally or downloading it. Nevertheless, the existing RDIC schemes do not support the pay-as-you-go (PAYG) payment model, where the payment is decided by the volume and duration of the outsourced data. Specifically, none of the existing works have considered the client’s control over changes in storage duration. In this paper, we propose an RDIC scheme to simultaneously check the data content and storage duration represented by an updatable timestamp via the third-party auditor (TPA). Also, our proposed scheme achieves indistinguishable privacy …


Active Fuzzing For Testing And Securing Cyber-Physical Systems, Yuqi Chen, Bohan Xuan, Christopher M. Poskitt, Jun Sun, Fan Zhang Jul 2020

Active Fuzzing For Testing And Securing Cyber-Physical Systems, Yuqi Chen, Bohan Xuan, Christopher M. Poskitt, Jun Sun, Fan Zhang

Research Collection School Of Computing and Information Systems

Cyber-physical systems (CPSs) in critical infrastructure face a pervasive threat from attackers, motivating research into a variety of countermeasures for securing them. Assessing the effectiveness of these countermeasures is challenging, however, as realistic benchmarks of attacks are difficult to manually construct, blindly testing is ineffective due to the enormous search spaces and resource requirements, and intelligent fuzzing approaches require impractical amounts of data and network access. In this work, we propose active fuzzing, an automatic approach for finding test suites of packet-level CPS network attacks, targeting scenarios in which attackers can observe sensors and manipulate packets, but have no existing …


Spinfer: Inferring Semantic Patches For The Linux Kernel, Lucas Serrano, Van-Anh Nguyen, Ferdian Thung, Lingxiao Jiang, David Lo, Julia Lawall, Gilles Muller Jul 2020

Spinfer: Inferring Semantic Patches For The Linux Kernel, Lucas Serrano, Van-Anh Nguyen, Ferdian Thung, Lingxiao Jiang, David Lo, Julia Lawall, Gilles Muller

Research Collection School Of Computing and Information Systems

In a large software system such as the Linux kernel, there is a continual need for large-scale changes across many source files, triggered by new needs or refined design decisions. In this paper, we propose to ease such changes by suggesting transformation rules to developers, inferred automatically from a collection of examples. Our approach can help automate large-scale changes as well as help understand existing large-scale changes, by highlighting the various cases that the developer who performed the changes has taken into account. We have implemented our approach as a tool, Spinfer. We evaluate Spinfer on a range of challenging …


Optimising The Fit Of Stack Overflow Code Snippets Into Existing Code, Brittany Reid, Christoph Treude, Markus Wagner Jul 2020

Optimising The Fit Of Stack Overflow Code Snippets Into Existing Code, Brittany Reid, Christoph Treude, Markus Wagner

Research Collection School Of Computing and Information Systems

Software developers often reuse code from online sources such as Stack Overflow within their projects. However, the process of searching for code snippets and integrating them within existing source code can be tedious. In order to improve efficiency and reduce time spent on code reuse, we present an automated code reuse tool for the Eclipse IDE (Integrated Developer Environment), NLP2TestableCode. NLP2TestableCode can not only search for Java code snippets using natural language tasks, but also evaluate code snippets based on a user’s existing code, modify snippets to improve fit and correct errors, before presenting the user with the best snippet, …


Mining And Predicting Micro-Process Patterns Of Issue Resolution For Open Source Software Projects, Yiran Wang, Jian Cao, David Lo Jul 2020

Mining And Predicting Micro-Process Patterns Of Issue Resolution For Open Source Software Projects, Yiran Wang, Jian Cao, David Lo

Research Collection School Of Computing and Information Systems

Addressing issue reports is an integral part of open source software (OSS) projects. Although several studies have attempted to discover the factors that affect issue resolution, few pay attention to the underlying micro-process patterns of resolution processes. Discovering these micro-patterns will help us understand the dynamics of issue resolution processes so that we can manage and improve them in better ways. Of the various types of issues, those relating to corrective maintenance account for nearly half hence resolving these issues efficiently is critical for the success of OSS projects. Therefore, we apply process mining techniques to discover the micro-patterns of …


Enhancing The Performance Of Ir-Based Traceability Recovery Of Requirement Artifacts Using Noun Phrases, Dafaalla Abdelrahman Mashahi Khalafalla Jul 2020

Enhancing The Performance Of Ir-Based Traceability Recovery Of Requirement Artifacts Using Noun Phrases, Dafaalla Abdelrahman Mashahi Khalafalla

Student Works (2020-2029)

Requirement traceability can be considered as a measure of software quality to help achieve validation, verification, and reusability. Neglecting traceability leads to less maintainable software. Creating traceability links after-the-fact, known as traceability recovery, is a tedious and time-consuming process when it is done manually. Therefore, information retrieval (IR) methods have been used to automatically identify traceability links between the artifacts. However, as a result of limitations of the software engineer and the IR techniques, the performance of the IR methods is negatively affected. There is no IR method that is able to recover traceability links between artifacts with high precision …


A Process Model For Designing Performance Dashboard Using Visualization Techniques, Bahar Muhammad Nasim Jul 2020

A Process Model For Designing Performance Dashboard Using Visualization Techniques, Bahar Muhammad Nasim

Student Works (2020-2029)

Data visualization is the presentation of data in a pictorial or graphical format. It enables decision-makers to see data analysis presented visually, so they can observe difficult concepts or identify new patterns. With interactive visualization, we can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data see and how it is processed. With the help of data visualization, it is expected to promote creative data exploration. A performance dashboard is one of the most common use cases for data visualization, and it enables decision-makers such as …


How Are Deep Learning Models Similar? An Empirical Study On Clone Analysis Of Deep Learning Software, Xiongfei Wu, Liangyu Qin, Bing Yu, Xiaofei Xie, Lei Ma, Yinxing Xue, Yang Liu, Jianjun Zhao Jul 2020

How Are Deep Learning Models Similar? An Empirical Study On Clone Analysis Of Deep Learning Software, Xiongfei Wu, Liangyu Qin, Bing Yu, Xiaofei Xie, Lei Ma, Yinxing Xue, Yang Liu, Jianjun Zhao

Research Collection School Of Computing and Information Systems

Deep learning (DL) has been successfully applied to many cutting-edge applications, e.g., image processing, speech recognition, and natural language processing. As more and more DL software is made open-sourced, publicly available, and organized in model repositories and stores (Model Zoo, ModelDepot), there comes a need to understand the relationships of these DL models regarding their maintenance and evolution tasks. Although clone analysis has been extensively studied for traditional software, up to the present, clone analysis has not been investigated for DL software. Since DL software adopts the data-driven development paradigm, it is still not clear whether and to what extent …


The Critical Success Factors Of Cloud Based Application Implementation In Construction Management, Sukiman Mohd Asfahani Jul 2020

The Critical Success Factors Of Cloud Based Application Implementation In Construction Management, Sukiman Mohd Asfahani

Student Works (2020-2029)

Design and construction are information intensive activities, involving a great number of people collaborating to produce complex, one-off developments. Whilst historically, information may have been managed and communicated using paper-based systems and verbal instructions, the integration of the supply chain, the introduction of computer aided design (CAD) and building information modelling (BIM) and the development of cloud computing application means that information communications technology (ICT) is becoming a fundamental part, not just of the design office, but also of the construction site. Cloud computing is a relatively new phenomenon in the construction industry. It allows the delivery over the 'cloud' …


Spring 2020 Jun 2020

Spring 2020

In The Loop

Letter from the Dean: Advancing Past Adversity; Look Who's Talking: Expert Talk Series; Seen and Heard; Keeping It Real: Client Web Projects for Students; OMG, It's DIBS, LOL!; X-ray Vision: Brian Andrews bones up on anthropomorphic entities and virtual realty in an audacious Project Bluelight film; Nothing But Net: Shannon Linares scores a win for female and first-generation college students in network engineering and cybersecurity careers; Mix Master: Claire Rosas blends disciplines and social synergy in her designs, from egg-ceptional typography to adaptive ergs


Increasing The Trust In Refactoring Through Visualization, Alex Bogart, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni Jun 2020

Increasing The Trust In Refactoring Through Visualization, Alex Bogart, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni

Articles

In software development, maintaining good design is essential. The process of refactoring enables developers to improve this design during development without altering the program’s existing behavior. However, this process can be time-consuming, introduce semantic errors, and be difficult for developers inexperienced with refactoring or unfamiliar with a given code base. Automated refactoring tools can help not only by applying these changes, but by identifying opportunities for refactoring. Yet, developers have not been quick to adopt these tools due to a lack of trust between the developer and the tool. We propose an approach in the form of a visualization to …


A Machine Learning Approach For Vulnerability Curation, Yang Chen, Andrew E. Santosa, Ming Yi Ang, Abhishek Sharma, Asankhaya Sharma, David Lo Jun 2020

A Machine Learning Approach For Vulnerability Curation, Yang Chen, Andrew E. Santosa, Ming Yi Ang, Abhishek Sharma, Asankhaya Sharma, David Lo

Research Collection School Of Computing and Information Systems

Software composition analysis depends on database of open-source library vulerabilities, curated by security researchers using various sources, such as bug tracking systems, commits, and mailing lists. We report the design and implementation of a machine learning system to help the curation by by automatically predicting the vulnerability-relatedness of each data item. It supports a complete pipeline from data collection, model training and prediction, to the validation of new models before deployment. It is executed iteratively to generate better models as new input data become available. We use self-training to significantly and automatically increase the size of the training dataset, opportunistically …


Is Using Deep Learning Frameworks Free?: Characterizing Technical Debt In Deep Learning Frameworks, Jiakun Liu, Qiao Huang, Xin Xia, Emad Shihab, David Lo, Shanping Li Jun 2020

Is Using Deep Learning Frameworks Free?: Characterizing Technical Debt In Deep Learning Frameworks, Jiakun Liu, Qiao Huang, Xin Xia, Emad Shihab, David Lo, Shanping Li

Research Collection School Of Computing and Information Systems

Developers of deep learning applications (shortened as application developers) commonly use deep learning frameworks in their projects. However, due to time pressure, market competition, and cost reduction, developers of deep learning frameworks (shortened as framework developers) often have to sacrifice software quality to satisfy a shorter completion time. This practice leads to technical debt in deep learning frameworks, which results in the increasing burden to both the application developers and the framework developers in future development.In this paper, we analyze the comments indicating technical debt (self-admitted technical debt) in 7 of the most popular open-source deep learning frameworks. Although framework …


Revisiting Supervised And Unsupervised Methods For Effort-Aware Cross-Project Defect Prediction, Chao Ni, Xin Xia, David Lo, Xiang Chen, Qing Gu Jun 2020

Revisiting Supervised And Unsupervised Methods For Effort-Aware Cross-Project Defect Prediction, Chao Ni, Xin Xia, David Lo, Xiang Chen, Qing Gu

Research Collection School Of Computing and Information Systems

Cross-project defect prediction (CPDP), aiming to apply defect prediction models built on source projects to a target project, has been an active research topic. A variety of supervised CPDP methods and some simple unsupervised CPDP methods have been proposed. In a recent study, Zhou et al. found that simple unsupervised CPDP methods (i.e., ManualDown and ManualUp) have a prediction performance comparable or even superior to complex supervised CPDP methods. Therefore, they suggested that the ManualDown should be treated as the baseline when considering non-effort-aware performance measures (NPMs) and the ManualUp should be treated as the baseline when considering effort-aware performance …


Mutation Testing Of Smart Contracts At Scale, Pieter Hartel, Richard Schumi Jun 2020

Mutation Testing Of Smart Contracts At Scale, Pieter Hartel, Richard Schumi

Research Collection School Of Computing and Information Systems

It is crucial that smart contracts are tested thoroughly due to their immutable nature. Even small bugs in smart contracts can lead to huge monetary losses. However, testing is not enough; it is also important to ensure the quality and completeness of the tests. There are already several approaches that tackle this challenge with mutation testing, but their effectiveness is questionable since they only considered small contract samples. Hence, we evaluate the quality of smart contract mutation testing at scale. We choose the most promising of the existing (smart contract specific) mutation operators, analyse their effectiveness in terms of killability …


A Virtualization Based System Infrastructure For Dynamic Program Analysis, Jiaqi Hong Jun 2020

A Virtualization Based System Infrastructure For Dynamic Program Analysis, Jiaqi Hong

Dissertations and Theses Collection (Open Access)

Dynamic malware analysis schemes either run the target program as is in an isolated environment assisted by additional hardware facilities or modify it with instrumentation code statically or dynamically. The hardware-assisted schemes usually trap the target during its execution to a more privileged environment based on the available hardware events. The more privileged environment is not accessible by the untrusted kernel, thus this approach is often applied for transparent and secure kernel analysis. Nevertheless, the isolated environment induces a virtual address gap between the analyzer and the target, which hinders effective and efficient memory introspection and undermines the correctness of …


On The Relationship Between Developer Experience And Refactoring: An Exploratory Study And Preliminary Results, Eman Abdullah Alomar, Anthony Peruma, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni Jun 2020

On The Relationship Between Developer Experience And Refactoring: An Exploratory Study And Preliminary Results, Eman Abdullah Alomar, Anthony Peruma, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni

Articles

Refactoring is one of the means of managing technical debt and maintaining a healthy software structure through enforcing best design practices, or coping with design defects. Previous refactoring surveys have shown that these code restructurings are mainly executed by developers who have sufficient knowledge of the system’s design, and disposing of leadership roles in their development teams. However, these surveys were mainly limited to specific projects and companies. In this paper, we explore the generalizability of the previous results though analyzing 800 open-source projects. We mine their refactoring activities, and we identify their corresponding contributors. Then, we associate an expertise …


Bubble-In Digital Testing System, Chaz Hampton Jun 2020

Bubble-In Digital Testing System, Chaz Hampton

Electronic Theses, Projects, and Dissertations

Bubble-In is a cloud-based test-taking system build for students and teachers. The Bubble-In system is a test-taking application that interfaces with a cloud server. The mobile applications have been built for Android and Apple devices and the webserver is hosted on Digital Ocean VPS run with Nginx. The Bubble-In application is equipped with anti-cheating mechanisms such as question-answer key scrambling, not allowing screenshots, screen recording, or leaving the application. The tests students take are sent to the webserver to be graded and have statistics calculated and displayed in easy to use format for the test creator. Instructors can use the …


Cc2vec: Distributed Representations Of Code Changes, Thong Hoang, Hong Jin Kang, Julia Lawall, David Lo Jun 2020

Cc2vec: Distributed Representations Of Code Changes, Thong Hoang, Hong Jin Kang, Julia Lawall, David Lo

Research Collection School Of Computing and Information Systems

Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify these features for each task. In this work, we propose CC2Vec, a neural network model that learns a representation of code changes guided by their accompanying log messages, which represent the semantic intent of the code changes. CC2Vec models the hierarchical structure of a code change with the help of the attention mechanism and usesmultiple comparison functions to identify the differences between the removed and added code. To evaluate if CC2Vec can …


Integrating Finance Dictionary In Lexicon-Based Approach With Machine Learning Algorithm To Analyse The Impact Of Opec News Sentiment On Financial Market, Ling Wu Jun 2020

Integrating Finance Dictionary In Lexicon-Based Approach With Machine Learning Algorithm To Analyse The Impact Of Opec News Sentiment On Financial Market, Ling Wu

Student Works (2020-2029)

Since last few decades, machine learning algorithm which trains computers to learn from experience, is one of the most rapidly developing techniques which settles in the intersection research field of statistics and computer science. This research aims to build a properly trained machine learning classifier to study the impact of Organization of Petroleum Exporting Countries (OPEC) news sentiment on stock prices of six Malaysian public listed companies (energy sector) in the main board of Bursa Malaysia. The data used in this research are collected during the period 2012-2017. To carry out the research, firstly, lexicon-based approach is used to analyze …


The Prom Problem: Fair And Privacy-Enhanced Matchmaking With Identity Linked Wishes, Dwight Horne May 2020

The Prom Problem: Fair And Privacy-Enhanced Matchmaking With Identity Linked Wishes, Dwight Horne

Computer Science and Engineering Theses and Dissertations

In the Prom Problem (TPP), Alice wishes to attend a school dance with Bob and needs a risk-free, privacy preserving way to find out whether Bob shares that same wish. If not, no one should know that she inquired about it, not even Bob. TPP represents a special class of matchmaking challenges, augmenting the properties of privacy-enhanced matchmaking, further requiring fairness and support for identity linked wishes (ILW) – wishes involving specific identities that are only valid if all involved parties have those same wishes.

The Horne-Nair (HN) protocol was proposed as a solution to TPP along with a …


Reproducible Application Platforms For Distributed Computing Systems, John Q. Wofford Iii May 2020

Reproducible Application Platforms For Distributed Computing Systems, John Q. Wofford Iii

Computer Science ETDs

A scientific conclusion requires falsifiable evidence. Results from distributed systems research are often difficult to reproduce because these systems consist of multiple nodes, each running independent system software and communicating across inter-node devices. This work motivates, describes, and demonstrates a reproducible application platform for distributed computing systems based on a layered, container-based software stack. This system effectively moves all application software dependencies from the host to a portable container. Each layer represents a particular functionality of the software stack. The layers are modular and extensible so that results are not only repeatable, but they can also be built on to …


Exploring Usage Of Web Resources Through A Model Of Api Learning, Finn Voichick May 2020

Exploring Usage Of Web Resources Through A Model Of Api Learning, Finn Voichick

McKelvey School of Engineering Graduate Student Theses & Dissertations

Application programming interfaces (APIs) are essential to modern software development, and new APIs are frequently being produced. Consequently, software developers must regularly learn new APIs, which they typically do on the job from online resources rather than in a formal educational context. The Kelleher–Ichinco COIL model, an acronym for “Collection and Organization of Information for Learning,” was recently developed to model the entire API learning process, drawing from information foraging theory, cognitive load theory, and external memory research. We ran an exploratory empirical user study in which participants performed a programming task using the React API with the goal of …


Javafx Application, Pengfei Huang May 2020

Javafx Application, Pengfei Huang

Student Academic Conference

Developing java GUI application by using JavaFX.


Server Score, Zachary Buresh May 2020

Server Score, Zachary Buresh

Student Academic Conference

This presentation is in regards to the Android mobile application that I developed in the Kotlin programming language named "Server Score". The app helps waiters/waitresses calculate, track, and predict performance related statistics on the job.


Ml-Medic: A Preliminary Study Of An Interactive Visual Analysis Tool Facilitating Clinical Applications Of Machine Learning For Precision Medicine, Laura Stevens, David Kao, Jennifer Hall, Carsten Görg, Kaitlyn Abdo, Erik Linstead May 2020

Ml-Medic: A Preliminary Study Of An Interactive Visual Analysis Tool Facilitating Clinical Applications Of Machine Learning For Precision Medicine, Laura Stevens, David Kao, Jennifer Hall, Carsten Görg, Kaitlyn Abdo, Erik Linstead

Engineering Faculty Articles and Research

Accessible interactive tools that integrate machine learning methods with clinical research and reduce the programming experience required are needed to move science forward. Here, we present Machine Learning for Medical Exploration and Data-Inspired Care (ML-MEDIC), a point-and-click, interactive tool with a visual interface for facilitating machine learning and statistical analyses in clinical research. We deployed ML-MEDIC in the American Heart Association (AHA) Precision Medicine Platform to provide secure internet access and facilitate collaboration. ML-MEDIC’s efficacy for facilitating the adoption of machine learning was evaluated through two case studies in collaboration with clinical domain experts. A domain expert review was also …


Using Taint Analysis And Reinforcement Learning (Tarl) To Repair Autonomous Robot Software, Damian Lyons, Saba Zahra May 2020

Using Taint Analysis And Reinforcement Learning (Tarl) To Repair Autonomous Robot Software, Damian Lyons, Saba Zahra

Faculty Publications

It is important to be able to establish formal performance bounds for autonomous systems. However, formal verification techniques require a model of the environment in which the system operates; a challenge for autonomous systems, especially those expected to operate over longer timescales. This paper describes work in progress to automate the monitor and repair of ROS-based autonomous robot software written for an a-priori partially known and possibly incorrect environment model. A taint analysis method is used to automatically extract the data-flow sequence from input topic to publish topic, and instrument that code. A unique reinforcement learning approximation of MDP utility …


Applying Imitation And Reinforcement Learning To Sparse Reward Environments, Haven Brown May 2020

Applying Imitation And Reinforcement Learning To Sparse Reward Environments, Haven Brown

Computer Science and Computer Engineering Undergraduate Honors Theses

The focus of this project was to shorten the time it takes to train reinforcement learning agents to perform better than humans in a sparse reward environment. Finding a general purpose solution to this problem is essential to creating agents in the future capable of managing large systems or performing a series of tasks before receiving feedback. The goal of this project was to create a transition function between an imitation learning algorithm (also referred to as a behavioral cloning algorithm) and a reinforcement learning algorithm. The goal of this approach was to allow an agent to first learn to …