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

Computer Sciences Commons™

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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 1561 - 1590 of 4322

Full-Text Articles in Computer Sciences

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 …


Identifying Privacy Policy In Service Terms Using Natural Language Processing, Ange-Thierry Ishimwe May 2020

Identifying Privacy Policy In Service Terms Using Natural Language Processing, Ange-Thierry Ishimwe

Computer Science and Computer Engineering Undergraduate Honors Theses

Ever since technology (tech) companies realized that people's usage data from their activities on mobile applications to the internet could be sold to advertisers for a profit, it began the Big Data era where tech companies collect as much data as possible from users. One of the benefits of this new era is the creation of new types of jobs such as data scientists, Big Data engineers, etc. However, this new era has also raised one of the hottest topics, which is data privacy. A myriad number of complaints have been raised on data privacy, such as how much access …


Speech Processing In Computer Vision Applications, Nicholas Waterworth May 2020

Speech Processing In Computer Vision Applications, Nicholas Waterworth

Computer Science and Computer Engineering Undergraduate Honors Theses

Deep learning has been recently proven to be a viable asset in determining features in the field of Speech Analysis. Deep learning methods like Convolutional Neural Networks facilitate the expansion of specific feature information in waveforms, allowing networks to create more feature dense representations of data. Our work attempts to address the problem of re-creating a face given a speaker's voice and speaker identification using deep learning methods. In this work, we first review the fundamental background in speech processing and its related applications. Then we introduce novel deep learning-based methods to speech feature analysis. Finally, we will present our …


What Malaysian Software Students Think About Testing?, Luiz Fernando Capretz, Shuib Basri, Maythem Adili, Aamir Amin May 2020

What Malaysian Software Students Think About Testing?, Luiz Fernando Capretz, Shuib Basri, Maythem Adili, Aamir Amin

Electrical and Computer Engineering Publications

Software testing is one of the crucial supporting processes of software life cycle. Unfortunately for the software industry, the role is stigmatized, partly due to misperception and partly due to treatment of the role in the software industry. The present study aims to analyse this situation to explore what inhibit an individual from taking up a software testing career. In order to investigate this issue, we surveyed 82 senior students taking a degree in information technology, information and communication technology, and computer science at two Malaysian universities. The subjects were asked the PROs and CONs of taking up a career …


Early Detection Of Mild Cognitive Impairment With In-Home Sensors To Monitor Behavior Patterns In Community-Dwelling Senior Citizens In Singapore: Cross-Sectional Feasibility Study, Iris Rawtaer, Rathi Mahendran, Ee Heok Kua, Hwee-Pink Tan, Hwee Xian Tan, Tih-Shih Lee, Tze Pin Ng May 2020

Early Detection Of Mild Cognitive Impairment With In-Home Sensors To Monitor Behavior Patterns In Community-Dwelling Senior Citizens In Singapore: Cross-Sectional Feasibility Study, Iris Rawtaer, Rathi Mahendran, Ee Heok Kua, Hwee-Pink Tan, Hwee Xian Tan, Tih-Shih Lee, Tze Pin Ng

Research Collection School Of Computing and Information Systems

Background: Dementia is a global epidemic and incurs substantial burden on the affected families and the health care system. A window of opportunity for intervention is the predementia stage known as mild cognitive impairment (MCI). Individuals often present to services late in the course of their disease and more needs to be done for early detection; sensor technology is a potential method for detection.Objective: The aim of this cross-sectional study was to establish the feasibility and acceptability of utilizing sensors in the homes of senior citizens to detect changes in behaviors unobtrusively.Methods: We recruited 59 community-dwelling seniors (aged >65 years …


Dfl-Opt : A Daily Fantasy Lineup Optimizer, Francis Aurori May 2020

Dfl-Opt : A Daily Fantasy Lineup Optimizer, Francis Aurori

Theses, Dissertations and Culminating Projects

[Background] Daily fantasy sports (DFS) are a variety of fantasy sports where contests take place in a matter of days or hours rather than over a whole season. A disparity exists between skilled professionals and casual participants in the creation of line-ups (i.e. teams) w.r.t their chances of winning in these contests. The purpose of the current project was to create a user-friendly, open source platform (named DFL-Opt) for participants of all skill levels to utilize in the creation of DFS line-ups. In addition, efficacy of the DFL-Opt platform was determined by playing the lineups generated by the DFL-Opt tool …


Meta-Analysis Of Biological Research Literature, Evan Suggs May 2020

Meta-Analysis Of Biological Research Literature, Evan Suggs

Honors Theses

Comparative studies have been powerful tools in generating a broad understanding about the evolution of animal social systems but they currently rely on the slow, manual process of reading thousands of abstracts and papers from research databases. A web application was created for researchers conducting a comparative survey, in order to speed up their research. This web application automates the retrieval of research papers and their selection process. Using previously obtained data sets on the orders Artiodacytla and Lagomorph, a machine learning application was created to classify the papers. These techniques and tools should greatly increase the speed at which …


Supervised Optimal Decision Machine Learning Approach To Class- And Method-Level Data Preprocessing Towards Effective Software Defect Prediction, Felix Ebubeogu Amarachukwu May 2020

Supervised Optimal Decision Machine Learning Approach To Class- And Method-Level Data Preprocessing Towards Effective Software Defect Prediction, Felix Ebubeogu Amarachukwu

Student Works (2020-2029)

Software defect prediction provides actionable outputs to software teams while contributing to industrial success. Therefore, predicting the number of defects in a new version of software at both the class and method levels is an important goal of defect prediction studies to assist software teams in optimizing their test efforts towards improving software quality. However, despite remarkable achievements in defect prediction, the quality of the data applied in defect prediction studies has been a major concern, with related quality issues leading to numerous contradictory findings in machine learning research. In addition, a demonstrated approach for predicting the number of defects …


Toward The Automatic Classification Of Self-Affirmed Refactoring, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni May 2020

Toward The Automatic Classification Of Self-Affirmed Refactoring, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni

Articles

The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how developers document their refactoring activities in commit messages, i.e., developers explicit documentation of refactoring operations intentionally introduced during a code change. In our previous study, we have manually identified refactoring patterns and defined three main common quality improvement categories including internal quality attributes, external quality attributes, and code smells, by only considering refactoring-related commits. However, this approach heavily depends on the manual inspection of commit messages. In this paper, we propose a two-step approach to first identify whether a commit describes developer-related refactoring events, then to classify it according …


How Do Developers Refactor Code To Improve Code Reusability?, Eman Abdullah Alomar, Philip T. Rodriguez, Jordan Bowman, Tianjia Wang, Benjamin Adepoju, Kevin Lopez, Christian D. Newman, Ali Ouni, Mohamed Wiem Mkaouer May 2020

How Do Developers Refactor Code To Improve Code Reusability?, Eman Abdullah Alomar, Philip T. Rodriguez, Jordan Bowman, Tianjia Wang, Benjamin Adepoju, Kevin Lopez, Christian D. Newman, Ali Ouni, Mohamed Wiem Mkaouer

Articles

. Refactoring is the de-facto practice to optimize software health. While there has been several studies proposing refactoring strategies to optimize software design through applying design patterns and removing design defects, little is known about how developers actually refactor their code to improve its reuse. Therefore, we extract, from 1,828 open source projects, a set of refactorings which were intended to improve the software reusability. We analyze the impact of reusability refactorings on state-of-the-art reusability metrics, and we compare the distribution of reusability refactoring types, with the distribution of the remaining mainstream refactorings. Overall, we found that the distribution of …


An Exploratory Study On How Software Reuse Is Discussed In Stack Overflow, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Jiaqian Liu, Ali Ouni, Christian D. Newman, Diego Barinas May 2020

An Exploratory Study On How Software Reuse Is Discussed In Stack Overflow, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Jiaqian Liu, Ali Ouni, Christian D. Newman, Diego Barinas

Articles

Software reuse is an important and crucial quality attribute in modern software engineering, where almost all software projects, open source or commercial, no matter small or ultra-large, source code reuse in one way or another. Although software reuse has experienced an increased adoption throughout the years with the exponentially growing number of available third-party libraries, frameworks and APIs, little knowledge exists to investigate what aspects of code reuse developers discuss. In this study, we look into bridging this gap by examining Stack Overflow to understand the challenges developers encounter when trying to reuse code. Using the Stack Overflow tags “code-reuse” …


How We Refactor And How We Document It? On The Use Of Supervised Machine Learning Algorithms To Classify Refactoring Documentation, Eman Abdullah Alomar, Anthony Peruma, Mohamed Wiem Mkaouer, Christian D. Newman, Marouane Kessentini, Ali Ouni May 2020

How We Refactor And How We Document It? On The Use Of Supervised Machine Learning Algorithms To Classify Refactoring Documentation, Eman Abdullah Alomar, Anthony Peruma, Mohamed Wiem Mkaouer, Christian D. Newman, Marouane Kessentini, Ali Ouni

Articles

Refactoring is the art of improving the structural design of a software system without altering its external behavior. Today, refactoring has become a well-established and disciplined software engineering practice that has attracted a significant amount of research presuming that refactoring is primarily motivated by the need to improve system structures. However, recent studies have shown that developers may incorporate refactoring strategies in other development-related activities that go beyond improving the design especially with the emerging challenges in contemporary software engineering. Unfortunately, these studies are limited to developer interviews and a reduced set of projects. To cope with the above-mentioned limitations, …


A Software Source Code Recommendation System For Code Reuse From Private Repositories, Md Mazharul Islam May 2020

A Software Source Code Recommendation System For Code Reuse From Private Repositories, Md Mazharul Islam

Graduate Theses/Dissertations

Motivated by the idea of reusing existing source code from previous projects within a software company, in this thesis, I present a new source code recommendation technique to help programmers find relevant implementations or sample code based on software requirement specifications. My proposed technique assists programmers to search existing code repositories using natural language query. My approach summarizes the uploaded code into sentences or phrases to match them against user queries. This version of my proposed technique extracts and analyzes the content of Python code (such as variables, functions, docstrings, and comments) to generate code summary for each function which …


Development Of Fully Balanced Ssfp And Computer Vision Applications For Mri-Assisted Radiosurgery (Mars), Jeremiah Sanders May 2020

Development Of Fully Balanced Ssfp And Computer Vision Applications For Mri-Assisted Radiosurgery (Mars), Jeremiah Sanders

Dissertations and Theses (Open Access)

Prostate cancer is the second most common cancer in men and the second-leading cause of cancer death in men. Brachytherapy is a highly effective treatment option for prostate cancer, and is the most cost-effective initial treatment among all other therapeutic options for low to intermediate risk patients of prostate cancer. In low-dose-rate (LDR) brachytherapy, verifying the location of the radioactive seeds within the prostate and in relation to critical normal structures after seed implantation is essential to ensuring positive treatment outcomes.

One current gap in knowledge is how to simultaneously image the prostate, surrounding anatomy, and radioactive seeds within the …


Code Duplication On Stack Overflow, Sebastian Baltes, Christoph Treude May 2020

Code Duplication On Stack Overflow, Sebastian Baltes, Christoph Treude

Research Collection School Of Computing and Information Systems

Despite the unarguable importance of Stack Overflow (SO) for the daily work of many software developers and despite existing knowledge about the impact of code duplication on software maintainability, the prevalence and implications of code clones on SO have not yet received the attention they deserve. In this paper, we motivate why studies on code duplication within SO are needed and how existing studies on code reuse differ from this new research direction. We present similarities and differences between code clones in general and code clones on SO and point to open questions that need to be addressed to be …


Dependency Mapping Software For Jira, Project Management Tool, Bentley Lager May 2020

Dependency Mapping Software For Jira, Project Management Tool, Bentley Lager

Computer Science and Computer Engineering Undergraduate Honors Theses

Efficiently managing a software development project is extremely important in industry and is often overlooked by the software developers on a project. Pieces of development work are identified by developers and are then handed off to project managers, who are left to organize this information. Project managers must organize this to set expectations for the client, and ensure the project stays on track and on budget. The main block in this process are dependency chains between tasks. Dependency chains can cause a project to take much longer than anticipated or result in the under utilization of developers on a project. …


Chaff From The Wheat: Characterizing And Determining Valid Bug Reports, Yuanrui Fan, Xin Xia, David Lo, Ahmed E. Hassan May 2020

Chaff From The Wheat: Characterizing And Determining Valid Bug Reports, Yuanrui Fan, Xin Xia, David Lo, Ahmed E. Hassan

Research Collection School Of Computing and Information Systems

Developers use bug reports to triage and fix bugs. When triaging a bug report, developers must decide whether the bug report is valid (i.e., a real bug). A large amount of bug reports are submitted every day, with many of them end up being invalid reports. Manually determining valid bug report is a difficult and tedious task. Thus, an approach that can automatically analyze the validity of a bug report and determine whether a report is valid can help developers prioritize their triaging tasks and avoid wasting time and effort on invalid bug reports. In this study, motivated by the …


Automated Identification Of Libraries From Vulnerability Data, Chen Yang, Andrew Santosa, Asankhaya Sharma, David Lo May 2020

Automated Identification Of Libraries From Vulnerability Data, Chen Yang, Andrew Santosa, Asankhaya Sharma, David Lo

Research Collection School Of Computing and Information Systems

Software Composition Analysis (SCA) has gained traction in recent years with a number of commercial offerings from various companies. SCA involves vulnerability curation process where a group of security researchers, using various data sources, populate a database of open-source library vulnerabilities, which is used by a scanner to inform the end users of vulnerable libraries used by their applications. One of the data sources used is the National Vulnerability Database (NVD). The key challenge faced by the security researchers here is in figuring out which libraries are related to each of the reported vulnerability in NVD. In this article, we …


Typestate-Guided Fuzzer For Discovering Use-After-Free Vulnerabilities, Haijun Wang, Xiaofei Xie, Yi Li, Cheng Wen, Yuekang Li, Yang Liu, Shengchao Qin, Hongxu Chen, Yulei Sui May 2020

Typestate-Guided Fuzzer For Discovering Use-After-Free Vulnerabilities, Haijun Wang, Xiaofei Xie, Yi Li, Cheng Wen, Yuekang Li, Yang Liu, Shengchao Qin, Hongxu Chen, Yulei Sui

Research Collection School Of Computing and Information Systems

Existing coverage-based fuzzers usually use the individual control flow graph (CFG) edge coverage to guide the fuzzing process, which has shown great potential in finding vulnerabilities. However, CFG edge coverage is not effective in discovering vulnerabilities such as use-after-free (UaF). This is because, to trigger UaF vulnerabilities, one needs not only to cover individual edges, but also to traverse some (long) sequence of edges in a particular order, which is challenging for existing fuzzers. To this end, we propose to model UaF vulnerabilities as typestate properties, and develop a typestate-guided fuzzer, named UAFL, for discovering vulnerabilities violating typestate properties. Given …


Posit: Simultaneously Tagging Natural And Programming Languages, Profir-Petru Pârțachi, Santanu Dash, Christoph Treude, Earl T. Barr May 2020

Posit: Simultaneously Tagging Natural And Programming Languages, Profir-Petru Pârțachi, Santanu Dash, Christoph Treude, Earl T. Barr

Research Collection School Of Computing and Information Systems

Software developers use a mix of source code and natural language text to communicate with each other: Stack Overflow and Developer mailing lists abound with this mixed text. Tagging this mixed text is essential for making progress on two seminal software engineering problems — traceability, and reuse via precise extraction of code snippets from mixed text. In this paper, we borrow code-switching techniques from Natural Language Processing and adapt them to apply to mixed text to solve two problems: language identification and token tagging. Our technique, POSIT, simultaneously provides abstract syntax tree tags for source code tokens, part-of-speech tags for …


An Alternative Approach To Malware Research, Christopher James May May 2020

An Alternative Approach To Malware Research, Christopher James May

Honors Program Theses

Current antivirus programs have design flaws that allow malware to bypass detection. Despite this, malicious parties are usually the ones to find and exploit these flaws before they can be fixed. Therefore, a more proactive approach to malware research should become the new standard. To that end, a new programming language will be designed and created that sheds light on a couple of design flaws in current antivirus models. Fundamentally, antivirus programs have trouble detecting interpreted languages. In addition, it is suspected that antivirus programs are unable to detect an unknown programming language that is injected into another file thus …


Rankbooster: Visual Analysis Of Ranking Predictions, Abishek Puri, Bon Kyung Ku, Yong Wang, Huamin Qu May 2020

Rankbooster: Visual Analysis Of Ranking Predictions, Abishek Puri, Bon Kyung Ku, Yong Wang, Huamin Qu

Research Collection School Of Computing and Information Systems

Ranking is a natural and ubiquitous way to facilitate decision-making in various applications. However, different rankings are often used for the same set of entities, with each ranking method placing emphasis on different factors. These factors can also be multi-dimensional in nature, compounding the problem. This complexity can make it challenging for an entity which is being ranked to understand what they can do to improve their rankings, and to analyze the effect of changes in various factors to their overall rank. In this paper, we present RankBooster, a novel visual analytics system to help users conveniently investigate ranking predictions. …


Semantic Understanding Of Smart Contracts: Executable Operational Semantics Of Solidity, Jiao Jiao, Shuanglong Kan, Shang Wei Lin, David Sanan, Yang Liu, Jun Sun May 2020

Semantic Understanding Of Smart Contracts: Executable Operational Semantics Of Solidity, Jiao Jiao, Shuanglong Kan, Shang Wei Lin, David Sanan, Yang Liu, Jun Sun

Research Collection School Of Computing and Information Systems

Bitcoin has been a popular research topic recently. Ethereum (ETH), a second generation of cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts. Smart contracts allow creditable execution of contracts on EVM (Ethereum Virtual Machine) without third parties. Developing correct and secure smart contracts is challenging due to the decentralized computation nature of the blockchain. Buggy smart contracts may lead to huge financial loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest in analyzing and verifying smart contracts. …


Memlock: Memory Usage Guided Fuzzing, Cheng Wen, Haijun Wang, Yuekang Li, Shengchao Qin, Yang Liu, Zhiwu Xu, Hongxu Chen, Xiaofei Xie, Geguang Pu, Ting Liu May 2020

Memlock: Memory Usage Guided Fuzzing, Cheng Wen, Haijun Wang, Yuekang Li, Shengchao Qin, Yang Liu, Zhiwu Xu, Hongxu Chen, Xiaofei Xie, Geguang Pu, Ting Liu

Research Collection School Of Computing and Information Systems

Uncontrolled memory consumption is a kind of critical software security weaknesses. It can also become a security-critical vulnerability when attackers can take control of the input to consume a large amount of memory and launch a Denial-of-Service attack. However, detecting such vulnerability is challenging, as the state-of-the-art fuzzing techniques focus on the code coverage but not memory consumption. To this end, we propose a memory usage guided fuzzing technique, named MemLock, to generate the excessive memory consumption inputs and trigger uncontrolled memory consumption bugs. The fuzzing process is guided with memory consumption information so that our approach is general and …


Towards Characterizing Adversarial Defects Of Deep Learning Software From The Lens Of Uncertainty, Xiyue Zhang, Xiaofei Xie, Lei Ma, Xiaoning Du, Qiang Hu, Yang Liu, Jianjun Zhao, Meng Sun May 2020

Towards Characterizing Adversarial Defects Of Deep Learning Software From The Lens Of Uncertainty, Xiyue Zhang, Xiaofei Xie, Lei Ma, Xiaoning Du, Qiang Hu, Yang Liu, Jianjun Zhao, Meng Sun

Research Collection School Of Computing and Information Systems

Over the past decade, deep learning (DL) has been successfully applied to many industrial domain-specific tasks. However, the current state-of-the-art DL software still suffers from quality issues, which raises great concern especially in the context of safety- and security-critical scenarios. Adversarial examples (AEs) represent a typical and important type of defects needed to be urgently addressed, on which a DL software makes incorrect decisions. Such defects occur through either intentional attack or physical-world noise perceived by input sensors, potentially hindering further industry deployment. The intrinsic uncertainty nature of deep learning decisions can be a fundamental reason for its incorrect behavior. …


Information Retrieval-Based Optimization Approaches For Requirement Traceability Recovery, Danissa Victoria Rodriguez Caraballo Apr 2020

Information Retrieval-Based Optimization Approaches For Requirement Traceability Recovery, Danissa Victoria Rodriguez Caraballo

LSU Doctoral Dissertations

Requirements traceability provides support for important software engineering activities. Requirements traceability recovery (RTR) is becoming increasingly important due to the numerous benefits to the overall quality of software. Improving the RTR problem has become an active topic of research for software engineers; researchers have proposed a number of approaches for improving and automating RTR across the requirements and the source code of the system. Textual analysis and Information Retrieval (IR) techniques have been applied to the RTR problem for many years; however, most of the existing IR-based methodologies applied to the RTR problem are semiautomatic or time-consuming, even though many …