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

Software Engineering Commons

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

2358 Full-Text Articles 2599 Authors 558456 Downloads 105 Institutions

All Articles in Software Engineering

Faceted Search

2358 full-text articles. Page 5 of 77.

Bug Characteristics In Blockchain Systems: A Large-Scale Empirical Study, Zhiyuan WAN, David LO, Xin XIA, Liang CAI 2017 Singapore Management University

Bug Characteristics In Blockchain Systems: A Large-Scale Empirical Study, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai

Research Collection School Of Information Systems

Bugs severely hurt blockchain system dependability. A thorough understanding of blockchain bug characteristics is required to design effective tools for preventing, detecting and mitigating bugs. We perform an empirical study on bug characteristics in eight representative open source blockchain systems. First, we manually examine 1,108 bug reports to understand the nature of the reported bugs. Second, we leverage card sorting to label the bug reports, and obtain ten bug categories in blockchain systems. We further investigate the frequency distribution of bug categories across projects and programming languages. Finally, we study the relationship between bug categories and bug fixing time ...


Understanding Android App Piggybacking: A Systematic Study Of Malicious Code Grafting, Li LI, Daoyuan LI, Tegawende F. BISSYANDE, Jacques KLEIN, Yves Le TRAON, David LO, Lorenzo CAVALLARO 2017 Singapore Management University

Understanding Android App Piggybacking: A Systematic Study Of Malicious Code Grafting, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Yves Le Traon, David Lo, Lorenzo Cavallaro

Research Collection School Of Information Systems

The Android packaging model offers ample opportunities for malware writers to piggyback malicious code in popular apps, which can then be easily spread to a large user base. Although recent research has produced approaches and tools to identify piggybacked apps, the literature lacks a comprehensive investigation into such phenomenon. We fill this gap by: 1) systematically building a large set of piggybacked and benign apps pairs, which we release to the community; 2) empirically studying the characteristics of malicious piggybacked apps in comparison with their benign counterparts; and 3) providing insights on piggybacking processes. Among several findings providing insights analysis ...


Deepmon: Mobile Gpu-Based Deep Learning Framework For Continuous Vision Applications, Nguyen Loc HUYNH, Youngki LEE, Rajesh Krishna BALAN 2017 Singapore Management University

Deepmon: Mobile Gpu-Based Deep Learning Framework For Continuous Vision Applications, Nguyen Loc Huynh, Youngki Lee, Rajesh Krishna Balan

Research Collection School Of Information Systems

The rapid emergence of head-mounted devices such as the Microsoft Holo-lens enables a wide variety of continuous vision applications. Such applications often adopt deep-learning algorithms such as CNN and RNN to extract rich contextual information from the first-person-view video streams. Despite the high accuracy, use of deep learning algorithms in mobile devices raises critical challenges, i.e., high processing latency and power consumption. In this paper, we propose DeepMon, a mobile deep learning inference system to run a variety of deep learning inferences purely on a mobile device in a fast and energy-efficient manner. For this, we designed a suite ...


Employing Smartwatch For Enhanced Password Authentication, Bing CHANG, Ximing LIU, Yingjiu LI, Pingjian WANG, Wen-Tao ZHU, Zhan WANG 2017 Chinese Academy of Sciences

Employing Smartwatch For Enhanced Password Authentication, Bing Chang, Ximing Liu, Yingjiu Li, Pingjian Wang, Wen-Tao Zhu, Zhan Wang

Research Collection School Of Information Systems

This paper presents an enhanced password authentication scheme by systematically exploiting the motion sensors in a smartwatch. We extract unique features from the sensor data when a smartwatch bearer types his/her password (or PIN), and train certain machine learning classifiers using these features. We then implement smartwatch-aided password authentication using the classifiers. Our scheme is user-friendly since it does not require users to perform any additional actions when typing passwords or PINs other than wearing smartwatches. We conduct a user study involving 51 participants on the developed prototype so as to evaluate its feasibility and performance. Experimental results show ...


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez 2017 California Polytechnic State University, San Luis Obispo

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a ...


Demo: Deepmon - Building Mobile Gpu Deep Learning Models For Continuous Vision Applications, Nguyen Loc HUYNH, Rajesh Krishna BALAN, Youngki LEE 2017 Singapore Management University

Demo: Deepmon - Building Mobile Gpu Deep Learning Models For Continuous Vision Applications, Nguyen Loc Huynh, Rajesh Krishna Balan, Youngki Lee

Research Collection School Of Information Systems

Deep learning has revolutionized vision sensing applications in terms of accuracy comparing to other techniques. Its breakthrough comes from the ability to extract complex high level features directly from sensor data. However, deep learning models are still yet to be natively supported on mobile devices due to high computational requirements. In this paper, we present DeepMon, a next generation of DeepSense [1] framework, to enable deep learning models on conventional mobile devices (e.g. Samsung Galaxy S7) for continuous vision sensing applications. Firstly, Deep-Mon exploits similarity between consecutive video frames for intermediate data caching within models to enhance inference latency ...


Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur RAHMAN, Chanchal K. ROY, David LO 2017 Singapore Management University

Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Information Systems

Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus require carefully designed queries containing information about programming APIs for code search. Unfortunately, existing studies suggest that preparing an effective query for code search is both challenging and time consuming for the developers. In this paper, we propose a novel code search tool-RACK-that returns relevant source code for a given code search query written in natural language text. The tool first translates the query into a list of relevant API classes by mining keyword-API associations from the crowdsourced ...


Senior Project: Calendar, Jason L. Chin 2017 California Polytechnic State University, San Luis Obispo

Senior Project: Calendar, Jason L. Chin

Computer Science

This calendar application is meant to help individuals with busy schedules. Those who must balance their time between working on multiple simultaneous projects would categorize key users. In the application, users will be able to participate in multiple projects at any one time. When a user is in a project, they will be able to create tasks, add tasks, be assigned to tasks, and add other users to the project. A key feature in this application is that each user is provided a personal project. In their personal project, any task assigned to the user from any project, will be ...


Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody 2017 California Polytechnic State University, San Luis Obispo

Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody

Computer Science

The problem our project solves is the integration of edge detection techniques with mapping libraries to display routes based on images. To do this, we used the OpenCV library within an Android application. This application lets a user import an image from their device, and uses edge detection to pull out a path from the image. The application can find the user's location and uses it alongside the path data from the image to create a route using the physical roads near the location. The shape of the route matches the edges from the given image and the user ...


An Effective Change Recommendation Approach For Supplementary Bug Fixes, Xin XIA, David LO 2017 Singapore Management University

An Effective Change Recommendation Approach For Supplementary Bug Fixes, Xin Xia, David Lo

Research Collection School Of Information Systems

Bug fixing is one of the most important activities during software development and maintenance. A substantial number of bugs are often fixed more than once due to incomplete initial fixes which need to be followed up by supplementary fixes. Automatically recommending relevant change locations for supplementary bug fixes can help developers to improve their productivity. It also help improve the reliability of systems by highlighting locations that a developer potentially needs to change to completely remove a bug. Unfortunately, a recent study by Park et al. shows that many change recommendation techniques do not work for supplementary bug fixes. In ...


Experiences In Building A Real-World Eating Recogniser, Sougata SEN, Vigneshwaran SUBBARAJU, Archan MISRA, Rajesh Krishna BALAN, Youngki LEE 2017 Singapore Management University

Experiences In Building A Real-World Eating Recogniser, Sougata Sen, Vigneshwaran Subbaraju, Archan Misra, Rajesh Krishna Balan, Youngki Lee

Research Collection School Of Information Systems

In this paper, we describe the progressive design of the gesture recognition module of an automated food journaling system - Annapurna. Annapurna runs on a smartwatch and utilises data from the inertial sensors to first identify eating gestures, and then captures food images which are presented to the user in the form of a food journal. We detail the lessons we learnt from multiple in-the-wild studies, and show how eating recognizer is refined to tackle challenges such as (i) high gestural diversity, and (ii) non-eating activities with similar gestural signatures. Annapurna is finally robust (identifying eating across a wide diversity in ...


Revisiting Assert Use In Github Projects, Pavneet Singh KOCHHAR, David LO 2017 Singapore Management University

Revisiting Assert Use In Github Projects, Pavneet Singh Kochhar, David Lo

Research Collection School Of Information Systems

Assertions are often used to test the assumptions that developers have about a program. An assertion contains a boolean expression which developers believe to be true at a particular program point. It throws an error if the expression is not satisfied, which helps developers to detect and correct bugs. Since assertions make developer assumptions explicit, assertions are also believed to improve under-standability of code. Recently, Casalnuovo et al. analyse C and C++ programs to understand the relationship between assertion usage and defect occurrence. Their results show that asserts have a small effect on reducing the density of bugs and developers ...


Measuring The Declared Sdk Versions And Their Consistency With Api Calls In Android Apps, Daoyuan WU, Ximing LIU, Jiayun XU JIAYUN, David LO, Debin GAO 2017 Singapore Management University

Measuring The Declared Sdk Versions And Their Consistency With Api Calls In Android Apps, Daoyuan Wu, Ximing Liu, Jiayun Xu Jiayun, David Lo, Debin Gao

Research Collection School Of Information Systems

Android has been the most popular smartphone system, with multiple platform versions (e.g., KITKAT and Lollipop) active in the market. To manage the application’s compatibility with one or more platform versions, Android allows apps to declare the supported platform SDK versions in their manifest files. In this paper, we make a first effort to study this modern software mechanism. Our objective is to measure the current practice of the declared SDK versions (which we term as DSDK versions afterwards) in real apps, and the consistency between the DSDK versions and their app API calls. To this end, we ...


Exploiting Android System Services Through Bypassing Service Helpers, Yachong GU, Yao CHENG, Lingyun YING, Yemian LU, Qi LI, Purui SU 2017 Chinese Academy of Sciences

Exploiting Android System Services Through Bypassing Service Helpers, Yachong Gu, Yao Cheng, Lingyun Ying, Yemian Lu, Qi Li, Purui Su

Research Collection School Of Information Systems

Android allows applications to communicate with system service via system service helper so that applications can use various functions wrapped in the system services. Meanwhile, system services leverage the service helpers to enforce security mechanisms, e.g. input parameter validation, to protect themselves against attacks. However, service helpers can be easily bypassed, which poses severe security and privacy threats to system services, e.g., privilege escalation, function execution without users’ interactions, system service crash, and DoS attacks. In this paper, we perform the first systematic study on such vulnerabilities and investigate their impacts. We develop a tool to analyze all ...


Webapirec: Recommending Web Apis To Software Projects Via Personalized Ranking, Ferdian THUNG, Richard Jayadi OENTARYO, David LO, Yuan TIAN 2017 Singapore Management University

Webapirec: Recommending Web Apis To Software Projects Via Personalized Ranking, Ferdian Thung, Richard Jayadi Oentaryo, David Lo, Yuan Tian

Research Collection School Of Information Systems

Application programming interfaces (APIs) offer a plethora of functionalities for developers to reuse without reinventing the wheel. Identifying the appropriate APIs given a project requirement is critical for the success of a project, as many functionalities can be reused to achieve faster development. However, the massive number of APIs would often hinder the developers' ability to quickly find the right APIs. In this light, we propose a new, automated approach called WebAPIRec that takes as input a project profile and outputs a ranked list of web APIs that can be used to implement the project. At its heart, WebAPIRec employs ...


Attracting Human Attention Using Robotic Facial Expressions And Gestures, Venus Yu 2017 Union College - Schenectady, NY

Attracting Human Attention Using Robotic Facial Expressions And Gestures, Venus Yu

Honors Theses and Student Projects

Robots will soon interact with humans in settings outside of a lab. Since it will be likely that their bodies will not be as developed as their programming, they will not have the complex limbs needed to perform simple tasks. Thus they will need to seek human assistance by asking them for help appropriately. But how will these robots know how to act? This research will focus on the speci?c nonverbal behaviors a robot could use to attract someone’s attention and convince them to interact with the robot. In particular, it will need the correct facial expressions and ...


An Open Source Discussion Group Recommendation System, Sarika Padmashali 2017 San Jose State University

An Open Source Discussion Group Recommendation System, Sarika Padmashali

Master's Projects

A recommendation system analyzes user behavior on a website to make suggestions about what a user should do in the future on the website. It basically tries to predict the “rating” or “preference” a user would have for an action. Yioop is an open source search engine, wiki system, and user discussion group system managed by Dr. Christopher Pollett at SJSU. In this project, we have developed a recommendation system for Yioop where users are given suggestions about the threads and groups they could join based on their user history. We have used collaborative filtering techniques to make recommendations and ...


Web - Based Office Market, Manodivya Kathiravan 2017 San Jose State University

Web - Based Office Market, Manodivya Kathiravan

Master's Projects

People who work in an office often have different pools of resources that they want to exchange. They want to trade their resources/work(seller) with a person who wants that particular resource(buyer) and in return get another resource the buyer offers. These kind of exchanges are often called Barter-exchanges where an item is traded for another item without the involvement of actual money. An exchange is set to be complete when there is a match between an available item and a desired item. This exchange is called direct exchange. When an item desired by one user is made ...


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara 2017 CUNY Hunter College

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive ...


A Chatbot Framework For Yioop, Harika Nukala 2017 San Jose State University

A Chatbot Framework For Yioop, Harika Nukala

Master's Projects

Over the past few years, messaging applications have become more popular than Social networking sites. Instead of using a specific application or website to access some service, chatbots are created on messaging platforms to allow users to interact with companies’ products and also give assistance as needed. In this project, we designed and implemented a chatbot Framework for Yioop. The goal of the Chatbot Framework for Yioop project is to provide a platform for developers in Yioop to build and deploy chatbot applications. A chatbot is a web service that can converse with users using artificial intelligence in messaging platforms ...


Digital Commons powered by bepress