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 1891 - 1920 of 4323

Full-Text Articles in Computer Sciences

Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li Mar 2019

Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li

Research Collection School Of Computing and Information Systems

While Bitcoin gains increasing popularity in different payment scenarios, the transaction fees make it difficult to be applied to micropayment. Given the wide applicability of micropayment, it is crucial for all cryptocurrencies including Bitcoin to provide effective support therein. In light of this, a number of low-cost micropayment schemes for Bitcoin have been proposed recently to reduce micropayment costs. Existing schemes, however, suffer from drawbacks such as high computation cost, inflexible payment value, and possibly unfair exchanges. The paper proposes two new micropayment schemes, namely the basic MicroBTC and the advanced MicroBTC, for Bitcoin by integrating the hash chain technique …


Welcome Message From The General Chairs, Nabil I. Alshurafa, Archan Misra, Abhishek Mukherji Mar 2019

Welcome Message From The General Chairs, Nabil I. Alshurafa, Archan Misra, Abhishek Mukherji

Research Collection School Of Computing and Information Systems

No abstract provided.


Making Wearable Sensing Less Obtrusive, Huy Vu Tran, Archan Misra Mar 2019

Making Wearable Sensing Less Obtrusive, Huy Vu Tran, Archan Misra

Research Collection School Of Computing and Information Systems

Sensing is a crucial part of any cyber-physical system. Wearable device has its huge potential for sensing applications because it is worn on the user body. However, wearable sensing can cause obtrusiveness to the user. Obtrusiveness can be seen as a perception of a lack of usefulness [1] such as a lag in user interaction channel. In addition, being worn by a user, it is not connected to a power supply, and thus needs to be removed to be charged regularly. This can cause a nuisance to elderly or disabled people. However, there are also opportunities for wearable devices to …


Design And Assessment Of Myoelectric Games For Prosthesis Training Of Upper Limb Amputees, Meeralakshmi Radhakrishnan, Asim Smailagic, Brian French, Daniel P. Siewiorek, Rajesh Krishna Balan Mar 2019

Design And Assessment Of Myoelectric Games For Prosthesis Training Of Upper Limb Amputees, Meeralakshmi Radhakrishnan, Asim Smailagic, Brian French, Daniel P. Siewiorek, Rajesh Krishna Balan

Research Collection School Of Computing and Information Systems

In this paper, we present the design and evaluation of our system, which provides an engaging game-based pre-prosthesis training environment for upper limb transradial amputees. We believe that patients who train using such a training tool will demonstrate significantly higher improvement in functional performance tests using a myoelectric prosthesis than when conventional pre-prosthesis training protocols are used. We re-designed two simple games to be playable using three muscle contractions which are appropriate to pre-prosthesis exercises and are detected by an EMG-based arm sleeve. Through user studies conducted with 16 non-amputee subjects, we show that the proposed games are enjoyable, fun …


Neural Network Based Detection Of Self-Admitted Technical Debt: From Performance To Explainability, Xiaoxue Ren, Zhenchang Xing, Xin Xia, David Lo, Xinyu Wang, John Grundy Mar 2019

Neural Network Based Detection Of Self-Admitted Technical Debt: From Performance To Explainability, Xiaoxue Ren, Zhenchang Xing, Xin Xia, David Lo, Xinyu Wang, John Grundy

Research Collection School Of Computing and Information Systems

Technical debt is a metaphor to reflect the tradeoff software engineers make between short term benefitsand long term stability. Self-admitted technical debt (SATD), a variant of technical debt, has been proposed to identify debt that is intentionally introduced during software development, e.g., temporary fixes and workarounds. Previous studies have leveraged human-summarized patterns (which represent n-gram phrases that can be used to identify SATD) or text mining techniques to detect SATD in source code comments. However, several characteristics of SATD features in code comments, such as vocabulary diversity, project uniqueness, length and semantic variations, pose a big challenge to the accuracy …


Ict: In-Field Calibration Transfer For Air Quality Sensor Deployments, Yun Cheng, Xiaoxi He, Zimu Zhou, Lothar Thiele Mar 2019

Ict: In-Field Calibration Transfer For Air Quality Sensor Deployments, Yun Cheng, Xiaoxi He, Zimu Zhou, Lothar Thiele

Research Collection School Of Computing and Information Systems

Recent years have witnessed a growing interest in urban air pollution monitoring, where hundreds of low-cost air quality sensors are deployed city-wide. To guarantee data accuracy and consistency, these sensors need periodic calibration after deployment. Since access to ground truth references is often limited in large-scale deployments, it is difficult to conduct city-wide post-deployment sensor calibration. In this work we propose In-field Calibration Transfer (ICT), a calibration scheme that transfers the calibration parameters of source sensors (with access to references) to target sensors (without access to references). On observing that (i) the distributions of ground truth in both source and …


Careful-Packing: A Practical And Scalable Anti-Tampering Software Protection Enforced By Trusted Computing, Flavio Toffalini, Martín Ochoa, Jun Sun, Jianying Zhou Mar 2019

Careful-Packing: A Practical And Scalable Anti-Tampering Software Protection Enforced By Trusted Computing, Flavio Toffalini, Martín Ochoa, Jun Sun, Jianying Zhou

Research Collection School Of Computing and Information Systems

Ensuring the correct behaviour of an application is a critical security issue. One of the most popular ways to modify the intended behaviour of a program is to tamper its binary. Several solutions have been proposed to solve this problem, including trusted computing and anti-tampering techniques. Both can substantially increase security, and yet both have limitations. In this work, we propose an approach which combines trusted computing technologies and anti-tampering techniques, and that synergistically overcomes some of their inherent limitations. In our approach critical software regions are protected by leveraging on trusted computing technologies and cryptographic packing, without introducing additional …


A Study Of Face Embedding In Face Recognition, Khanh Duc Le Mar 2019

A Study Of Face Embedding In Face Recognition, Khanh Duc Le

Master's Theses

Face Recognition has been a long-standing topic in computer vision and pattern recognition field because of its wide and important applications in our daily lives such as surveillance system, access control, and so on. The current modern face recognition model, which keeps only a couple of images per person in the database, can now recognize a face with high accuracy. Moreover, the model does not need to be retrained every time a new person is added to the database.

By using the face dataset from Digital Democracy, the thesis will explore the capability of this model by comparing it with …


Requirements Practices In Software Startups, John D. Hoff Feb 2019

Requirements Practices In Software Startups, John D. Hoff

Scholarly Horizons: University of Minnesota, Morris Undergraduate Journal

In a dynamic environment full of uncertainties in software startups, software development practices must be carefully approached. It is vital that startups determine the right time to make advancements and evolve their company to the next level. We will discuss the importance of requirements practices in startups and their impact on company culture, work environments, and product quality.


Fc2: Cloud-Based Cluster Provisioning For Distributed Machine Learning, Nguyen Binh Duong Ta Feb 2019

Fc2: Cloud-Based Cluster Provisioning For Distributed Machine Learning, Nguyen Binh Duong Ta

Research Collection School Of Computing and Information Systems

Training large, complex machine learning models such as deep neural networks with big data requires powerful computing clusters, which are costly to acquire, use and maintain. As a result, many machine learning researchers turn to cloud computing services for on-demand and elastic resource provisioning capabilities. Two issues have arisen from this trend: (1) if not configured properly, training models on cloud-based clusters could incur significant cost and time, and (2) many researchers in machine learning tend to focus more on model and algorithm development, so they may not have the time or skills to deal with system setup, resource selection …


Grand Challenges In Accessible Maps, Jon E. Froehlich, Anke M. Brock, Anat Caspi, Joao Guerreiro, Kotaro Hara, Reuben Kirkham, Johannes Schoning, Benjamin Tannert Feb 2019

Grand Challenges In Accessible Maps, Jon E. Froehlich, Anke M. Brock, Anat Caspi, Joao Guerreiro, Kotaro Hara, Reuben Kirkham, Johannes Schoning, Benjamin Tannert

Research Collection School Of Computing and Information Systems

In this forum we celebrate research that helps to successfully bring the benefits of computing technologies to children, older adults, people with disabilities, and other populations that are often ignored in the design of mass-marketed products.


Unveiling Exception Handling Guidelines Adopted By Java Developers, Hugo Melo, Roberta Coelho, Christoph Treude Feb 2019

Unveiling Exception Handling Guidelines Adopted By Java Developers, Hugo Melo, Roberta Coelho, Christoph Treude

Research Collection School Of Computing and Information Systems

Despite being an old language feature, Java exception handling code is one of the least understood parts of many systems. Several studies have analyzed the characteristics of exception handling code, trying to identify common practices or even link such practices to software bugs. Few works, however, have investigated exception handling issues from the point of view of developers. None of the works have focused on discovering exception handling guidelines adopted by current systems - which are likely to be a driver of common practices. In this work, we conducted a qualitative study based on semi-structured interviews and a survey whose …


Bilateral Dependency Neural Networks For Cross-Language Algorithm Classification, Duy Quoc Nghi Bui, Yijun Yu, Lingxiao Jiang Feb 2019

Bilateral Dependency Neural Networks For Cross-Language Algorithm Classification, Duy Quoc Nghi Bui, Yijun Yu, Lingxiao Jiang

Research Collection School Of Computing and Information Systems

Algorithm classification is to automatically identify the classes of a program based on the algorithm(s) and/or data structure(s) implemented in the program. It can be useful for various tasks, such as code reuse, code theft detection, and malware detection. Code similarity metrics, on the basis of features extracted from syntax and semantics, have been used to classify programs. Such features, however, often need manual selection effort and are specific to individual programming languages, limiting the classifiers to programs in the same language.To recognise the similarities and differences among algorithms implemented in different languages, this paper describes a framework of Bilateral …


Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo Feb 2019

Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo

Research Collection School Of Computing and Information Systems

Code review is the process of manual inspection on the revision of the source code in order to find out whether the revised source code eventually meets the revision requirements. However, manual code review is time-consuming, and automating such the code review process will alleviate the burden of code reviewers and speed up the software maintenance process. To construct the model for automatic code review, the characteristics of the revisions of source code (i.e., the difference between the two pieces of source code) should be properly captured and modeled. Unfortunately, most of the existing techniques can easily model the overall …


Recommending New Features From Mobile App Descriptions, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo, Xindong Wu, Zhongxuan Luo Feb 2019

Recommending New Features From Mobile App Descriptions, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo, Xindong Wu, Zhongxuan Luo

Research Collection School Of Computing and Information Systems

The rapidly evolving mobile applications (apps) have brought great demand for developers to identify new features by inspecting the descriptions of similar apps and acquire missing features for their apps. Unfortunately, due to the huge number of apps, this manual process is time-consuming and unscalable. To help developers identify new features, we propose a new approach named SAFER. In this study, we first develop a tool to automatically extract features from app descriptions. Then, given an app, we leverage the topic model to identify its similar apps based on the extracted features and API names of apps. Finally, we design …


Preference-Aware Task Assignment In On-Demand Taxi Dispatching: An Online Stable Matching Approach, Boming Zhao, Pan Xu, Yexuan Shi, Yongxin Tong, Zimu Zhou, Yuxiang Zeng Feb 2019

Preference-Aware Task Assignment In On-Demand Taxi Dispatching: An Online Stable Matching Approach, Boming Zhao, Pan Xu, Yexuan Shi, Yongxin Tong, Zimu Zhou, Yuxiang Zeng

Research Collection School Of Computing and Information Systems

No abstract provided.


Deception In Finitely Repeated Security Games, Thanh H. Nguyen, Yongzhao Wang, Arunesh Sinha, Michael P. Wellman Feb 2019

Deception In Finitely Repeated Security Games, Thanh H. Nguyen, Yongzhao Wang, Arunesh Sinha, Michael P. Wellman

Research Collection School Of Computing and Information Systems

Allocating resources to defend targets from attack is often complicated by uncertainty about the attacker’s capabilities, objectives, or other underlying characteristics. In a repeated interaction setting, the defender can collect attack data over time to reduce this uncertainty and learn an effective defense. However, a clever attacker can manipulate the attack data to mislead the defender, influencing the learning process toward its own benefit. We investigate strategic deception on the part of an attacker with private type information, who interacts repeatedly with a defender. We present a detailed computation and analysis of both players’ optimal strategies given the attacker may …


Evolutionary Trends In The Collaborative Review Process Of A Large Software System, Subhajit Datta, Poulami Sarkar Feb 2019

Evolutionary Trends In The Collaborative Review Process Of A Large Software System, Subhajit Datta, Poulami Sarkar

Research Collection School Of Computing and Information Systems

In this paper, we study the evolutionary trends in the collaborative review process of a large open source software system. As expected, the number of reviews, the number of reviews commented on, as well as the number of reviewers, and the interactions between them show increasing trends over time. But unexpectedly, levels of clustering between developers in their interaction networks show a decreasing trend, even as connections between them increase. In the context of our study, clustering is an indicator of developer collaboration, whereas connection points to how intensely developers work together. Thus the trends we observe can inform how …


Dish: Democracy In State Houses, Nicholas A. Russo Feb 2019

Dish: Democracy In State Houses, Nicholas A. Russo

Master's Theses

In our current political climate, state level legislators have become increasingly impor- tant. Due to cuts in funding and growing focus at the national level, public oversight for these legislators has drastically decreased. This makes it difficult for citizens and activists to understand the relationships and commonalities between legislators. This thesis provides three contributions to address this issue. First, we created a data set containing over 1200 features focused on a legislator’s activity on bills. Second, we created embeddings that represented a legislator’s level of activity and engagement for a given bill using a custom model called Democracy2Vec. Third, we …


Successor Features Based Multi-Agent Rl For Event-Based Decentralized Mdps, Tarun Gupta, Akshat Kumar, Praveen Paruchuri Jan 2019

Successor Features Based Multi-Agent Rl For Event-Based Decentralized Mdps, Tarun Gupta, Akshat Kumar, Praveen Paruchuri

Research Collection School Of Computing and Information Systems

Decentralized MDPs (Dec-MDPs) provide a rigorous framework for collaborative multi-agent sequential decisionmaking under uncertainty. However, their computational complexity limits the practical impact. To address this, we focus on a class of Dec-MDPs consisting of independent collaborating agents that are tied together through a global reward function that depends upon their entire histories of states and actions to accomplish joint tasks. To overcome scalability barrier, our main contributions are: (a) We propose a new actor-critic based Reinforcement Learning (RL) approach for event-based Dec-MDPs using successor features (SF) which is a value function representation that decouples the dynamics of the environment from …


A Machine Learning Recommender Model For Ride Sharing Based On Rider Characteristics And User Threshold Time, Govind Pramod Yatnalkar Jan 2019

A Machine Learning Recommender Model For Ride Sharing Based On Rider Characteristics And User Threshold Time, Govind Pramod Yatnalkar

Theses, Dissertations and Capstones

In the present age, human life is prospering incredibly due to the 4th Industrial Revolution or The Age of Digitization and Computing. The ubiquitous availability of the Internet and advanced computing systems have resulted in the rapid development of smart cities. From connected devices to live vehicle tracking, technology is taking the field of transportation to a new level. An essential part of the transportation domain in smart cities is Ride Sharing. It is an excellent solution to issues like pollution, traffic, and the rapid consumption of fuel. Even though Ride Sharing has several benefits, the current usage is …


What People Complain About Drone Apps? A Large-Scale Empirical Study Of Google Play Store Reviews, Kanimozhi Kalaichelvan Jan 2019

What People Complain About Drone Apps? A Large-Scale Empirical Study Of Google Play Store Reviews, Kanimozhi Kalaichelvan

Theses, Dissertations and Capstones

Within the past few years, there has been a tremendous increase in the number of UAVs (Unmanned Aerial Vehicle) or drones manufacture and purchase. It is expected to proliferate further, penetrating into every stream of life, thus making its usage inevitable. The UAV’s major components are its physical hardware and programming software, which controls its navigation or performs various tasks based on the field of concern. The drone manufacturers launch the controlling app for the drones in mobile app stores. A few drone manufacturers also release development kits to aid drone enthusiasts in developing customized or more creative apps. Thus, …


A Semester Long Classroom Course Mimicking A Software Company And A New Hire Experience For Computer Science Students Preparing To Enter The Software Industry, David A. Chamberlain Jan 2019

A Semester Long Classroom Course Mimicking A Software Company And A New Hire Experience For Computer Science Students Preparing To Enter The Software Industry, David A. Chamberlain

Master’s Theses and Projects

Students in a Computer Science degree programs must learn to code before they can be taught Software Engineering skills. This core skill set is how to program and consists of the constructs of various languages, how to create short programs or applications, independent assignments, and arrive at solutions that utilize the skills being covered in the language for that course (Chatley & Field, 2017). As an upperclassman, students will often be allowed to apply these skills in newer ways and have the opportunity to work on longer, more involved assignments although frequently still independent or in small groups of two …


Augustana Stories, Maegan Patterson Jan 2019

Augustana Stories, Maegan Patterson

Honors Program: Student Scholarship & Creative Works

This is an Android app that describes the history and urban legends of Augustana’s campus. There are several stories that can be accessed from a list or from a map feature that shows where the buildings are on campus. The map is also capable of giving an order in which to visit the buildings if the user decides to take a tour of the campus. The app is written in Java and the stories are housed in webpages.


Evaluating Software Testing Techniques: A Systematic Mapping Study, Mitchell Mayeda Jan 2019

Evaluating Software Testing Techniques: A Systematic Mapping Study, Mitchell Mayeda

Electronic Theses and Dissertations

Software testing techniques are crucial for detecting faults in software and reducing the risk of using it. As such, it is important that we have a good understanding of how to evaluate these techniques for their efficiency, scalability, applicability, and effectiveness at finding faults. This thesis enhances our understanding of testing technique evaluations by providing an overview of the state of the art in research. To accomplish this we utilize a systematic mapping study; structuring the field and identifying research gaps and publication trends. We then present a small case study demonstrating how our mapping study can be used to …


Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann Jan 2019

Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann

Programming Tips and Tricks

Program safety deals with how to make programs as error free as possible. The hardest errors in a program for a programmer to find are often errors in using memory. There are two reasons for this. The first is that errors in accessing memory almost never show problems in the proximate area of the program where the error is made. The error has no apparent impact when it is made, but often causes catastrophic results to occur much later in the program, in areas of the program unrelated to memory error that caused it.

The second reason memory errors are …


Deep Learning: Edge-Cloud Data Analytics For Iot, Katarina Grolinger, Ananda M. Ghosh Jan 2019

Deep Learning: Edge-Cloud Data Analytics For Iot, Katarina Grolinger, Ananda M. Ghosh

Electrical and Computer Engineering Publications

Sensors, wearables, mobile and other Internet of Thing (IoT) devices are becoming increasingly integrated in all aspects of our lives. They are capable of collecting massive quantities of data that are typically transmitted to the cloud for processing. However, this results in increased network traffic and latencies. Edge computing has a potential to remedy these challenges by moving computation physically closer to the network edge where data are generated. However, edge computing does not have sufficient resources for complex data analytics tasks. Consequently, this paper investigates merging cloud and edge computing for IoT data analytics and presents a deep learning-based …


Reducing The Large Class Code Smell By Applying Design Patterns, Bayan Turkistani Jan 2019

Reducing The Large Class Code Smell By Applying Design Patterns, Bayan Turkistani

Electronic Theses and Dissertations

Software systems need continuous developing to cope and keep up with everchanging requirements. Source code quality affects the software development costs. In software refactoring object-oriented systems, Large Class, in particular, hinder the maintenance of a system by letting it difficult for software developers to understand and perform modifications. Also, it is making the development process labor-intensive and time-wasting. Reducing the Large Class code smell by applying design patterns can make the refactoring process more manageable, ease developing the system and decrease the effort required for the maintaining of software. To guarantee object-oriented software stays clear to read, understand and modify …


Software Engineering Dashboards: Types, Risks, And Future, Margaret-Anne Storey, Christoph Treude Jan 2019

Software Engineering Dashboards: Types, Risks, And Future, Margaret-Anne Storey, Christoph Treude

Research Collection School Of Computing and Information Systems

The large number of artifacts created or modified in a software project and the flood of information exchanged in the process of creating a software product call for tools that aggregate this data to communicate higher-level insights to all stakeholders involved. In many projects—in software engineering as well as in other domains—dashboards are used to communicate information that may bring insights on the productivity of project activities and other aspects. Stephen Few defines a dashboard as “a visual display of the most important information needed to achieve one or more objectives which fits entirely on a single computer screen so …


How Team Awareness Influences Perceptions Of Developer Productivity, Christoph Treude, Fernando Figueira Filho Jan 2019

How Team Awareness Influences Perceptions Of Developer Productivity, Christoph Treude, Fernando Figueira Filho

Research Collection School Of Computing and Information Systems

In their day-to-day work, software developers perform many different activities: they use numerous tools to develop software artifacts ranging from source code and models to documentation and test cases, they use other tools to manage and coordinate their development work, and they spend a substantial amount of time communicating and exchanging knowledge with other members on their teams and the larger software development community. Making sense of this flood of activity and information is becoming harder with every new artifact created. Yet, being aware of all relevant information in a software project is crucial to enable productivity in software development.