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 2371 - 2400 of 4322

Full-Text Articles in Computer Sciences

Feedback-Based Debugging, Yun Lin, Jun Sun, Yinxing Xue, Yang Liu, Jin Song Dong May 2017

Feedback-Based Debugging, Yun Lin, Jun Sun, Yinxing Xue, Yang Liu, Jin Song Dong

Research Collection School Of Computing and Information Systems

Software debugging has long been regarded as a time and effort consuming task. In the process of debugging, developers usually need to manually inspect many program steps to see whether they deviate from their intended behaviors. Given that intended behaviors usually exist nowhere but in human mind, the automation of debugging turns out to be extremely hard, if not impossible. In this work, we propose a feedback-based debugging approach, which (1) builds on light-weight human feedbacks on a buggy program and (2) regards the feedbacks as partial program specification to infer suspicious steps of the buggy execution. Given a buggy …


Search-Driven String Constraint Solving For Vulnerability Detection, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand May 2017

Search-Driven String Constraint Solving For Vulnerability Detection, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand

Research Collection School Of Computing and Information Systems

—Constraint solving is an essential technique for detecting vulnerabilities in programs, since it can reason about input sanitization and validation operations performed on user inputs. However, real-world programs typically contain complex string operations that challenge vulnerability detection. State-ofthe-art string constraint solvers support only a limited set of string operations and fail when they encounter an unsupported one; this leads to limited effectiveness in finding vulnerabilities. In this paper we propose a search-driven constraint solving technique that complements the support for complex string operations provided by any existing string constraint solver. Our technique uses a hybrid constraint solving procedure based on …


Towards Automatic Repair Of Xacml Policies, Shuai Peng May 2017

Towards Automatic Repair Of Xacml Policies, Shuai Peng

Boise State University Theses and Dissertations

In a complex information system, controlling the access to resources is challenging. As a new generation of access control techniques, Attribute-Based Access Control (ABAC) can provide more flexible and fine-grained access control than Role-Based-Access Control (RBAC). XACML (eXtensible Access Control Markup Language) is an industrial standard for specifying ABAC policies. XACML policies tend to be complex because of the great variety of attribute types for fine-grained access control. This means that XACML policies are prone to errors and difficult to debug. This paper presents a first attempt at automating the debugging process of XACML policies. Two techniques are used for …


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis Apr 2017

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

Emerging Technologies Laboratory

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces.

As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language mechanisms and …


The Creation Of A Building Map Application For A University Setting, William T. Whitesell Apr 2017

The Creation Of A Building Map Application For A University Setting, William T. Whitesell

Senior Honors Theses

The use of navigational technology in mobile and web devices has sharply increased in recent years. With the capability to create interactive maps now available, navigating in real time between locations has become possible. This is especially essential in areas and organizations experiencing rapid expansion like Liberty University (LU). Therefore, the author proposes a project to create an interactive map application (IMA) for LU’s academic buildings that is scalable and usable through both the university’s website and with a mobile application. There are several considerations that must be taken into account when creating the LU map application, such as development …


Design And Implementation Of An Rfid-Based Customer Shopping Behavior Mining System, Zimu Zhou, Longfei Shangguan, Xiaolong Zheng, Lei Yang, Yunhao Liu Apr 2017

Design And Implementation Of An Rfid-Based Customer Shopping Behavior Mining System, Zimu Zhou, Longfei Shangguan, Xiaolong Zheng, Lei Yang, Yunhao Liu

Research Collection School Of Computing and Information Systems

Shopping behavior data is of great importance in understanding the effectiveness of marketing and merchandising campaigns. Online clothing stores are capable of capturing customer shopping behavior by analyzing the click streams and customer shopping carts. Retailers with physical clothing stores, however, still lack effective methods to comprehensively identify shopping behaviors. In this paper, we show that backscatter signals of passive RFID tags can be exploited to detect and record how customers browse stores, which garments they pay attention to, and which garments they usually pair up. The intuition is that the phase readings of tags attached to items will demonstrate …


The Chess Puzzle Lock Screen, Ryan J. Hayes Apr 2017

The Chess Puzzle Lock Screen, Ryan J. Hayes

Student Scholar Showcase

The Chess Puzzle Lock Screen

Many times each day, owners of cellphones use their phone’s lock screen in order to access their device. The goal of this project has been to take advantage of the action of unlocking one’s device by incorporating an element of self-help into the process. Every time a user who is interested in learning a new field attempts to access their device, that user is faced with a problem pertaining to a subject they are interested in learning more about. After many repetitions of this scenario, the user will have increased their understanding of this field. …


Virtual Reality: Google Cardboard And Unity, Emma Elliott Apr 2017

Virtual Reality: Google Cardboard And Unity, Emma Elliott

Student Scholar Showcase

Virtual Reality is currently the hottest way for people to play video games because it provides an immersive and interactive world to explore. It uses computer software to create sounds, realistic images, and other effects to simulate a virtual setting. The current craze started on the Oculus Rift headset and has incited other companies to make their own, but most are expensive or require another system to play. Instead of buying an expensive headset, anyone with a smartphone can play in Virtual Reality with Google’s cheap alternative, the Google Cardboard. The goal of this project is to complete a prototype …


Direct And Mediating Influences Of User-Developer Perception Gaps In Requirements Understanding On User Participation, Jingdong Jia, Luiz Fernando Capretz Apr 2017

Direct And Mediating Influences Of User-Developer Perception Gaps In Requirements Understanding On User Participation, Jingdong Jia, Luiz Fernando Capretz

Electrical and Computer Engineering Publications

User participation is considered an effective way to conduct requirements engineering, but user-developer perception gaps in requirements understanding occur frequently. Since user participation in practice is not as active as we expect and the requirements perception gap has been recognized as a risk that negatively affects projects, exploring whether user-developer perception gaps in requirements understanding will hinder user participation is worthwhile. This will help develop a greater comprehension of the intertwined relationship between user participation and perception gap, a topic that has not yet been extensively examined. This study investigates the direct and mediating influences of user-developer requirements perception gaps …


Network-On-Chip Based H.264 Video Decoder On A Field Programmable Gate Array, Ian Barge Apr 2017

Network-On-Chip Based H.264 Video Decoder On A Field Programmable Gate Array, Ian Barge

Master's Theses (2009 -)

This thesis develops the first fully network-on-chip (NoC) based h.264 video decoder implemented in real hardware on a field programmable gate array (FPGA). This thesis starts with an overview of the h.264 video coding standard and an introduction to the NoC communication paradigm. Following this, a series of processing elements (PEs) are developed which implement the component algorithms making up the h.264 video decoder. These PEs, described primarily in VHDL with some Verilog and C, are then mapped to an NoC which is generated using the CONNECT NoC generation tool. To demonstrate the scalability of the proposed NoC based design, …


A Survey Of Impact Analysis Tools For Effective Code Evolution, Stephanie Perez Day Galbo Apr 2017

A Survey Of Impact Analysis Tools For Effective Code Evolution, Stephanie Perez Day Galbo

Theses and Dissertations

Background: Software maintenance and evolution are becoming noticeably more im- portant activities in the software development process, with the growing popularity of Agile/SCRUM and continuous integration. Impact analysis, the activity of identifying the consequences of a change before the change is made, can help the developer under- stand the consequences of their potential changes and therefore make informed decisions about incremental changes, with the ultimate goal of minimizing negative impacts on the current baseline. To aid developers with impact analysis, there are a number of tools with a variety of capabilities to facilitate this process. Aim: In order to help …


Predicting The Impact Of Software Engineering Topics: An Empirical Study, Santonu Sarkar, Rumana Lakdawala, Subhajit Datta Apr 2017

Predicting The Impact Of Software Engineering Topics: An Empirical Study, Santonu Sarkar, Rumana Lakdawala, Subhajit Datta

Research Collection School Of Computing and Information Systems

Predicting the future is hard, more so in active research areas. In this paper, we customize an established model for citation prediction of research papers and apply it on research topics. We argue that research topics, rather than individual publications, have wider relevance in the research ecosystem, for individuals as well as organizations. In this study, topics are extracted from a corpus of software engineering publications covering 55,000+ papers written by more than 70,000 authors across 56 publication venues, over a span of 38 years, using natural language processing techniques. We demonstrate how critical aspects of the original paper-based prediction …


Discovering Anomalous Events From Urban Informatics Data, Kasthuri Jayarajah, Vigneshwaran Subbaraju, Dulanga Kaveesha Weerakoon Mudiyanselage, Archan Misra, La Thanh Tam, Noel Athaide Apr 2017

Discovering Anomalous Events From Urban Informatics Data, Kasthuri Jayarajah, Vigneshwaran Subbaraju, Dulanga Kaveesha Weerakoon Mudiyanselage, Archan Misra, La Thanh Tam, Noel Athaide

Research Collection School Of Computing and Information Systems

Singapore's "smart city" agenda is driving the government to provide public access to a broader variety of urban informatics sources, such as images from traffic cameras and information about buses servicing different bus stops. Such informatics data serves as probes of evolving conditions at different spatiotemporal scales. This paper explores how such multi-modal informatics data can be used to establish the normal operating conditions at different city locations, and then apply appropriate outlier-based analysis techniques to identify anomalous events at these selected locations. We will introduce the overall architecture of sociophysical analytics, where such infrastructural data sources can be combined …


The Crowd Work Accessibility Problem, Saiganesh Swaminathan, Kotaro Hara, Jeffrey P. Bigham Apr 2017

The Crowd Work Accessibility Problem, Saiganesh Swaminathan, Kotaro Hara, Jeffrey P. Bigham

Research Collection School Of Computing and Information Systems

Crowd work is an increasingly prevalent and important kind of work. Because of its flexible nature, crowd work may offer benefits for people with disabilities. Unfortunately, people with disabilities currently lack access to much of this work because the tasks that are posted are often inaccessible. In this paper, we first characterize the accessibility of the tasks posted to a popular crowd marketplace, Amazon Mechanical Turk, by performing manual and automatic checks on 120 tasks from several common types. We then outline research directions that could have positive impact on this problem. Given ongoing and upcoming changes to the world …


Should We Learn Probabilistic Models For Model Checking? A New Approach And An Empirical Study, Jingyi Wang, Jun Sun, Qixia Yuan, Jun Pang Apr 2017

Should We Learn Probabilistic Models For Model Checking? A New Approach And An Empirical Study, Jingyi Wang, Jun Sun, Qixia Yuan, Jun Pang

Research Collection School Of Computing and Information Systems

Many automated system analysis techniques (e.g., model checking, model-based testing) rely on first obtaining a model of the system under analysis. System modeling is often done manually, which is often considered as a hindrance to adopt model-based system analysis and development techniques. To overcome this problem, researchers have proposed to automatically “learn” models based on sample system executions and shown that the learned models can be useful sometimes. There are however many questions to be answered. For instance, how much shall we generalize from the observed samples and how fast would learning converge? Or, would the analysis result based on …


Characterizing Malicious Android Apps By Mining Topic-Specific Data Flow Signatures, Xinli Yang, David Lo, Li Li, Xin Xia, Tegawendé F. Bissyande, Jacques Klein Apr 2017

Characterizing Malicious Android Apps By Mining Topic-Specific Data Flow Signatures, Xinli Yang, David Lo, Li Li, Xin Xia, Tegawendé F. Bissyande, Jacques Klein

Research Collection School Of Computing and Information Systems

Context: State-of-the-art works on automated detection of Android malware have leveraged app descriptions to spot anomalies w.r.t the functionality implemented, or have used data flow information as a feature to discriminate malicious from benign apps. Although these works have yielded promising performance,we hypothesize that these performances can be improved by a better understanding of malicious behavior. Objective: To characterize malicious apps, we take into account both information on app descriptions,which are indicative of apps’ topics, and information on sensitive data flow, which can be relevant todiscriminate malware from benign apps. Method: In this paper, we propose a topic-specific approach to …


Related-Key Secure Key Encapsulation From Extended Computational Bilinear Diffie–Hellman, Brandon Qin, Shengli Liu, Shifeng Sun, Robert H. Deng, Dawu Gu Apr 2017

Related-Key Secure Key Encapsulation From Extended Computational Bilinear Diffie–Hellman, Brandon Qin, Shengli Liu, Shifeng Sun, Robert H. Deng, Dawu Gu

Research Collection School Of Computing and Information Systems

As a special type of fault injection attacks, Related-Key Attacks (RKAs) allow an adversary to manipulate a cryptographic key and subsequently observe the outcomes of the cryptographic scheme under these modified keys. In the real life, related-key attacks are already practical enough to be implemented on cryptographic devices. To avoid cryptographic devices suffering from related-key attacks, it is necessary to design a cryptographic scheme that resists against such attacks. This paper proposes an efficient RKA-secure Key Encapsulation Mechanism (KEM), in which the adversary can modify the secret key sk to any value f(sk), as long as, f is a polynomial …


Collective Entity Linking In Tweets Over Space And Time, Wen Haw Chong, Ee-Peng Lim, William Cohen Apr 2017

Collective Entity Linking In Tweets Over Space And Time, Wen Haw Chong, Ee-Peng Lim, William Cohen

Research Collection School Of Computing and Information Systems

We propose collective entity linking over tweets that are close in space and time. This exploits the fact that events or geographical points of interest often result in related entities being mentioned in spatio-temporal proximity. Our approach directly applies to geocoded tweets. Where geocoded tweets are overly sparse among all tweets, we use a relaxed version of spatial proximity which utilizes both geocoded and non-geocoded tweets linked by common mentions. Entity linking is affected by noisy mentions extracted and incomplete knowledge bases. Moreover, to perform evaluation on the entity linking results, much manual annotation of mentions is often required. To …


Clustering Classes In Packages For Program Comprehension, Xiaobing Sun, Xiangyue Liu, Bin Li, Bixin Li, David Lo, Lingzhi Liao Apr 2017

Clustering Classes In Packages For Program Comprehension, Xiaobing Sun, Xiangyue Liu, Bin Li, Bixin Li, David Lo, Lingzhi Liao

Research Collection School Of Computing and Information Systems

During software maintenance and evolution, one of the important tasks faced by developers is to understand a system quickly and accurately. With the increasing size and complexity of an evolving system, program comprehension becomes an increasingly difficult activity. Given a target system for comprehension, developers may first focus on the package comprehension. The packages in the system are of different sizes. For small-sized packages in the system, developers can easily comprehend them. However, for large-sized packages, they are difficult to understand. In this article, we focus on understanding these large-sized packages and propose a novel program comprehension approach for large-sized …


Inferring Smartphone Keypress Via Smartwatch Inertial Sensing, Sougata Sen, Karan Grover, Vigneshwaran Subbaraju, Archan Misra Apr 2017

Inferring Smartphone Keypress Via Smartwatch Inertial Sensing, Sougata Sen, Karan Grover, Vigneshwaran Subbaraju, Archan Misra

Research Collection School Of Computing and Information Systems

Due to numerous benefits, sensor-rich smartwatchesand wrist-worn wearable devices are quickly gaining popularity.The popularity of these devices also raises privacy concerns. Inthis paper we explore one such privacy concern: the possibility ofextracting the location of a user’s touch-event on a smartphone,using the inertial sensor data of a smartwatch worn by the useron the same arm. This is a major concern not only because itmight be possible for an attacker to extract private and sensitiveinformation from the inputs provided but also because the attackmode utilises a device (smartwatch) that is distinct from thedevice being attacked (smartphone). Through a user study wefind …


Role Of Requirements Engineering In Software Project’S Success, Sujatha Alla Apr 2017

Role Of Requirements Engineering In Software Project’S Success, Sujatha Alla

Engineering Management & Systems Engineering Theses & Dissertations

Despite considerable time and resources spent on the initiation phase of software projects, discrepancies often exist between formal project documentation, customer requirements, and final project specifications. Such discrepancies in the requirements management process can have a very negative impact on final project outcomes. A Business Requirements Document (BRD) constitutes the formal software requirements documentation, which typically includes stakeholders’ needs and expectations and project scope while providing a clear project roadmap and project plan. According to IEEE standards, a BRD should be a structured document that includes specific elements such as functional and technical requirements while incorporating certain traits such as …


A Conceptual Framework For A Software Development Process Based On Computational Thinking, Catherine Higgins, Fredrick Mtenzi, Ciaran O'Leary, Orla Hanratty, Claire Mcavinia Mar 2017

A Conceptual Framework For A Software Development Process Based On Computational Thinking, Catherine Higgins, Fredrick Mtenzi, Ciaran O'Leary, Orla Hanratty, Claire Mcavinia

Book Chapters / Conference Papers

A software development process is a mechanism to help software developers plan, design and structure the development of software to solve a problem. Without a process to guide the structured evolution of a solution, it is extremely likely that at least some aspect of the resulting software will be omitted or incorrectly implemented. Even though the importance of utilising a software process for solving problems is accepted, it is a topic that is addressed very lightly (if at all) in most freshman undergraduate computing courses with most courses focusing on programming procedures rather than the process of how to develop …


Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang Mar 2017

Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang

Liberal Arts and Engineering Studies

This project describes how to build a hand tracking method for VR/AR using the raw data from a depth sensing camera.


Mining Sandboxes For Linux Containers, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai, Shanping Li Mar 2017

Mining Sandboxes For Linux Containers, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai, Shanping Li

Research Collection School Of Computing and Information Systems

A container is a group of processes isolated from other groups via distinct kernel namespaces and resource allocation quota. Attacks against containers often leverage kernel exploits through system call interface. In this paper, we present an approach that mines sandboxes for containers. We first explore the behaviors of a container by leveraging automatic testing, and extract the set of system calls accessed during testing. The set of system calls then results as a sandbox of the container. The mined sandbox restricts the container's access to system calls which are not seen during testing and thus reduces the attack surface. In …


Privacy In Context-Aware Mobile Crowdsourcing Systems, Thivya Kandappu, Archan Misra, Shih-Fen Cheng, Hoong Chuin Lau Mar 2017

Privacy In Context-Aware Mobile Crowdsourcing Systems, Thivya Kandappu, Archan Misra, Shih-Fen Cheng, Hoong Chuin Lau

Research Collection School Of Computing and Information Systems

Mobile crowd-sourcing can become as a strategy to perform time-sensitive urban tasks (such as municipal monitoring and last mile logistics) by effectively coordinating smartphone users. The success of the mobile crowd-sourcing platform depends mainly on its effectiveness in engaging crowd-workers, and recent studies have shown that compared to the pull-based approach, which relies on crowd-workers to browse and commit to tasks they would want to perform, the push-based approach can take into consideration of worker’s daily routine, and generate highly effective recommendations. As a result, workers waste less time on detours, plan more in advance, and require much less planning …


Whole-System Analysis For Understanding Publicly Accessible Functions In Android, Huu Hoang Nguyen, Lingxiao Jiang, Thanh Tho Quan Mar 2017

Whole-System Analysis For Understanding Publicly Accessible Functions In Android, Huu Hoang Nguyen, Lingxiao Jiang, Thanh Tho Quan

Research Collection School Of Computing and Information Systems

Android has become the most popular mobile operating system. Millions of applications, including many malwares, haven been developed for it. Android itself evolves constantly with changing features and higher complexities. It is challenging for application developers to keep up with the changes and maintain the compatibility of their apps across Android versions. Therefore, there are many challenges for application analysis tools to accurately model and analyze app behaviors across Android versions. Even though the overall system architecture of Android and many APIs are documented, many other APIs and implementation details are not, not to mention potential bugs and vulnerabilities. Techniques …


Ui X-Ray: Interactive Mobile Ui Testing Based On Computer Vision, Chun-Fu Richard Chen, Marco Pistoia, Conglei Shi, Paolo Girolami, Joseph W. Ligman, Yong Wang Mar 2017

Ui X-Ray: Interactive Mobile Ui Testing Based On Computer Vision, Chun-Fu Richard Chen, Marco Pistoia, Conglei Shi, Paolo Girolami, Joseph W. Ligman, Yong Wang

Research Collection School Of Computing and Information Systems

User Interface/eXperience (UI/UX) significantly affects the lifetime of any software program, particularly mobile apps. A bad UX can undermine the success of a mobile app even if that app enables sophisticated capabilities. A good UX, however, needs to be supported of a highly functional and user friendly UI design. In spite of the importance of building mobile apps based on solid UI designs, UI discrepancies- inconsistencies between UI design and implementation-Are among the most numerous and expensive defects encountered during testing. This paper presents UI X-RAY, an interactive UI testing system that integrates computer-vision methods to facilitate the correction of …


Collaboration Trumps Homophily In Urban Mobile Crowdsourcing, Thivya Kandappu, Archan Misra, Randy Tandriansyah Mar 2017

Collaboration Trumps Homophily In Urban Mobile Crowdsourcing, Thivya Kandappu, Archan Misra, Randy Tandriansyah

Research Collection School Of Computing and Information Systems

This paper establishes the power of dynamic collaborative task completion among workers for urban mobile crowdsourcing. Collaboration is defined via the notion of peer referrals, whereby a worker who has accepted a location-specific task, but is unlikely to visit that location, offloads the task to a willing friend. Such a collaborative framework might be particularly useful for task bundles, especially for bundles that have higher geographic dispersion. The challenge, however, comes from the high similarity observed in the spatiotemporal pattern of task completion among friends. Using extensive real-world crowd-sourcing studies conducted over 7 weeks and 1000+ workers on a campus-based …


Version-Sensitive Mobile App Recommendation, Da Cao, Liqiang Nie, Xiangnan He, Xiaochi Wei, Jialie Shen, Shunxiang Wu, Tat-Seng Chua Mar 2017

Version-Sensitive Mobile App Recommendation, Da Cao, Liqiang Nie, Xiangnan He, Xiaochi Wei, Jialie Shen, Shunxiang Wu, Tat-Seng Chua

Research Collection School Of Computing and Information Systems

Being part and parcel of the daily life for billions of people all over the globe, the domain of mobile Applications (Apps) is the fastest growing sector of mobile market today. Users, however, are frequently overwhelmed by the vast number of released Apps and frequently updated versions. Towards this end, we propose a novel version-sensitive mobile App recommendation framework. It is able to recommend appropriate Apps to right users by jointly exploring the version progression and dual-heterogeneous data. It is helpful for alleviating the data sparsity problem caused by version division. As a byproduct, it can be utilized to solve …


Detecting Similar Repositories On Github, Yun Zhang, David Lo, Pavneet Singh Kochhar, Xin Xia, Quanlai Li, Jianling Sun Feb 2017

Detecting Similar Repositories On Github, Yun Zhang, David Lo, Pavneet Singh Kochhar, Xin Xia, Quanlai Li, Jianling Sun

Research Collection School Of Computing and Information Systems

GitHub contains millions of repositories among which many are similar with one another (i.e., having similar source codes or implementing similar functionalities). Finding similar repositories on GitHub can be helpful for software engineers as it can help them reuse source code, build prototypes, identify alternative implementations, explore related projects, find projects to contribute to, and discover code theft and plagiarism. Previous studies have proposed techniques to detect similar applications by analyzing API usage patterns and software tags. However, these prior studies either only make use of a limited source of information or use information not available for projects on GitHub. …