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

Computer Engineering Commons

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

Articles 1 - 17 of 17

Full-Text Articles in Computer Engineering

Automatically `Verifying’ Discrete-Time Complex Systems Through Learning, Abstraction And Refinement, Jingyi Wang, Jun Sun, Shengchao Qin, Cyrille Jegourel Dec 2018

Automatically `Verifying’ Discrete-Time Complex Systems Through Learning, Abstraction And Refinement, Jingyi Wang, Jun Sun, Shengchao Qin, Cyrille Jegourel

Research Collection School Of Computing and Information Systems

Precisely modeling complex systems like cyber-physical systems is challenging, which often render model-based system verification techniques like model checking infeasible. To overcome this challenge, we propose a method called LAR to automatically ‘verify’ such complex systems through a combination of learning, abstraction and refinement from a set of system log traces. We assume that log traces and sampling frequency are adequate to capture ‘enough’ behaviour of the system. Given a safety property and the concrete system log traces as input, LAR automatically learns and refines system models, and produces two kinds of outputs. One is a counterexample with a bounded …


Co-Location Resistant Virtual Machine Placement In Cloud Data Centers, Amit Agarwal, Nguyen Binh Duong Ta Dec 2018

Co-Location Resistant Virtual Machine Placement In Cloud Data Centers, Amit Agarwal, Nguyen Binh Duong Ta

Research Collection School Of Computing and Information Systems

Due to increasing number of avenues for conducting cross-virtual machine (VM) side-channel attacks, the security of public IaaS cloud data centers is a growing concern. These attacks allow an adversary to steal private information from a target user whose VM instance is co-located with that of the adversary. To reduce the probability of malicious co-location, we propose a novel VM placement algorithm called “Previously Co-Located Users First”. We perform a theoretical and empirical analysis of our proposed algorithm to evaluate its resource efficiency and security. Our results, obtained using real-world cloud traces containing millions of VM requests and thousands of …


Early Prediction Of Merged Code Changes To Prioritize Reviewing Tasks, Yuanrui Fan, Xin Xia, David Lo, Shanping Li Dec 2018

Early Prediction Of Merged Code Changes To Prioritize Reviewing Tasks, Yuanrui Fan, Xin Xia, David Lo, Shanping Li

Research Collection School Of Computing and Information Systems

Modern Code Review (MCR) has been widely used by open source and proprietary software projects. Inspecting code changes consumes reviewers much time and effort since they need to comprehend patches, and many reviewers are often assigned to review many code changes. Note that a code change might be eventually abandoned, which causes waste of time and effort. Thus, a tool that predicts early on whether a code change will be merged can help developers prioritize changes to inspect, accomplish more things given tight schedule, and not waste reviewing effort on low quality changes. In this paper, motivated by the above …


Delta Debugging Microservice Systems, Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Wenhai Li, Chao Ji, Dan Ding Nov 2018

Delta Debugging Microservice Systems, Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Wenhai Li, Chao Ji, Dan Ding

Research Collection School Of Computing and Information Systems

Debugging microservice systems involves the deployment and manipulation of microservice systems on a containerized environment and faces unique challenges due to the high complexity and dynamism of microservices. To address these challenges, in this paper, we propose a debugging approach for microservice systems based on the delta debugging algorithm, which is to minimize failureinducing deltas of circumstances (e.g., deployment, environmental configurations) for effective debugging. Our approach includes novel techniques for defining, deploying/manipulating, and executing deltas following the idea of delta debugging. In particular, to construct a (failing) circumstance space for delta debugging to minimize, our approach defines a set of …


An Interpretable Neural Fuzzy Inference System For Predictions Of Underpricing In Initial Public Offerings, Di Wang, Xiaolin Qian, Chai Quek, Ah-Hwee Tan, Chunyan Miao, Xiaofeng Zhang, Geok See Ng, You Zhou Nov 2018

An Interpretable Neural Fuzzy Inference System For Predictions Of Underpricing In Initial Public Offerings, Di Wang, Xiaolin Qian, Chai Quek, Ah-Hwee Tan, Chunyan Miao, Xiaofeng Zhang, Geok See Ng, You Zhou

Research Collection School Of Computing and Information Systems

Due to their aptitude in both accurate data processing and human comprehensible reasoning, neural fuzzy inference systems have been widely adopted in various application domains as decision support systems. Especially in real-world scenarios such as decision making in financial transactions, the human experts may be more interested in knowing the comprehensive reasons of certain advices provided by a decision support system in addition to how confident the system is on such advices. In this paper, we apply an integrated autonomous computational model termed genetic algorithm and rough set incorporated neural fuzzy inference system (GARSINFIS) to predict underpricing in initial public …


Exploring Experiential Learning Model And Risk Management Process For An Undergraduate Software Architecture Course, Eng Lieh Ouh, Yunghans Irawan Oct 2018

Exploring Experiential Learning Model And Risk Management Process For An Undergraduate Software Architecture Course, Eng Lieh Ouh, Yunghans Irawan

Research Collection School Of Computing and Information Systems

This paper shares our insights on exploring theexperiential learning model and risk management process todesign an undergraduate software architecture course. The keychallenge for undergraduate students to appreciate softwarearchitecture design is usually their limited experience in thesoftware industry. In software architecture, the high-level designprinciples are heuristics lacking the absoluteness of firstprinciples which for inexperienced undergraduate students, thisis a frustrating divergence from what they used to value. From aneducator's perspective, teaching software architecture requirescontending with the problem of how to express this level ofabstraction practically and also make the learning realistic. Inthis paper, we propose a model adapting the concepts ofexperiential learning …


Teaching Adult Learners On Software Architecture Design Skills, Eng Lieh Ouh, Yunghans Irawan Oct 2018

Teaching Adult Learners On Software Architecture Design Skills, Eng Lieh Ouh, Yunghans Irawan

Research Collection School Of Computing and Information Systems

Software architectures present high-level views ofsystems, enabling developers to abstract away the unnecessarydetails and focus on the overall big picture. Designing a softwarearchitecture is an essential skill in software engineering and adultlearners are seeking this skill to further progress in their career.With the technology revolution and advancements in this rapidlychanging world, the proportion of adult learners attendingcourses for continuing education are increasing. Their learningobjectives are no longer to obtain good grades but the practicalskills to enable them to perform better in their work and advancein their career. Teaching software architecture to upskill theseadult learners requires contending with the problem of …


Visforum: A Visual Analysis System For Exploring User Groups In Online Forums, Siwei Fu, Yong Wang, Yi Yang, Qingqing Bi, Fangzhou Guo, Huamin Qu Oct 2018

Visforum: A Visual Analysis System For Exploring User Groups In Online Forums, Siwei Fu, Yong Wang, Yi Yang, Qingqing Bi, Fangzhou Guo, Huamin Qu

Research Collection School Of Computing and Information Systems

User grouping in asynchronous online forums is a common phenomenon nowadays. People with similar backgrounds or shared interests like to get together in group discussions. As tens of thousands of archived conversational posts accumulate, challenges emerge for forum administrators and analysts to effectively explore user groups in large-volume threads and gain meaningful insights into the hierarchical discussions. Identifying and comparing groups in discussion threads are nontrivial, since the number of users and posts increases with time and noises may hamper the detection of user groups. Researchers in data mining fields have proposed a large body of algorithms to explore user …


Augmenting And Structuring User Queries To Support Efficient Free-Form Code Search, Raphael Sirres, Tegawendé F. Bissyande, Dongsun Kim, David Lo, Jacques Klein, Kisub Kim, Yves Le Traon Oct 2018

Augmenting And Structuring User Queries To Support Efficient Free-Form Code Search, Raphael Sirres, Tegawendé F. Bissyande, Dongsun Kim, David Lo, Jacques Klein, Kisub Kim, Yves Le Traon

Research Collection School Of Computing and Information Systems

Source code terms such as method names and variable types are often different from conceptual words mentioned in a search query. This vocabulary mismatch problem can make code search inefficient. In this paper, we present COde voCABUlary (CoCaBu), an approach to resolving the vocabulary mismatch problem when dealing with free-form code search queries. Our approach leverages common developer questions and the associated expert answers to augment user queries with the relevant, but missing, structural code entities in order to improve the performance of matching relevant code examples within large code repositories. To instantiate this approach, we build GitSearch, a code …


Pfix: Fixing Concurrency Bugs Based On Memory Access Patterns, Huarui Lin, Zan Wang, Shuang Liu, Jun Sun, Dongdi Zhang, Guangning Wei Sep 2018

Pfix: Fixing Concurrency Bugs Based On Memory Access Patterns, Huarui Lin, Zan Wang, Shuang Liu, Jun Sun, Dongdi Zhang, Guangning Wei

Research Collection School Of Computing and Information Systems

Concurrency bugs of a multi-threaded program may only manifest with certain scheduling, i.e., they are heisenbugs which are observed only from time to time if we execute the same program with the same input multiple times. They are notoriously hard to fix. In this work, we propose an approach to automatically fix concurrency bugs. Compared to previous approaches, our key idea is to systematically fix concurrency bugs by inferring locking policies from failure inducing memory-access patterns. That is, we automatically identify memory-access patterns which are correlated with the manifestation of the bug, and then conjecture what is the intended locking …


Compositional Reasoning For Shared-Variable Concurrent Programs, Fuyuan Zhang, Yongwang Zhao, David Sanan, Yang Liu, Alwen Tiu, Shang-Wei Lin, Jun Sun Jul 2018

Compositional Reasoning For Shared-Variable Concurrent Programs, Fuyuan Zhang, Yongwang Zhao, David Sanan, Yang Liu, Alwen Tiu, Shang-Wei Lin, Jun Sun

Research Collection School Of Computing and Information Systems

Scalable and automatic formal verification for concurrent systems is always demanding. In this paper, we propose a verification framework to support automated compositional reasoning for concurrent programs with shared variables. Our framework models concurrent programs as succinct automata and supports the verification of multiple important properties. Safety verification and simulations of succinct automata are parallel compositional, and safety properties of succinct automata are preserved under refinements. We generate succinct automata from infinite state concurrent programs in an automated manner. Furthermore, we propose the first automated approach to checking rely-guarantee based simulations between infinite state concurrent programs. We have prototyped our …


A Unified Approach To Route Planning For Shared Mobility, Yongxin Tong, Yuxiang Zeng, Zimu Zhou, Lei Chen, Jieping Ye, Ke Xu Jul 2018

A Unified Approach To Route Planning For Shared Mobility, Yongxin Tong, Yuxiang Zeng, Zimu Zhou, Lei Chen, Jieping Ye, Ke Xu

Research Collection School Of Computing and Information Systems

There has been a dramatic growth of shared mobility applications such as ride-sharing, food delivery and crowdsourced parcel delivery. Shared mobility refers to transportation services that are shared among users, where a central issue is route planning. Given a set of workers and requests, route planning finds for each worker a route, i.e., a sequence of locations to pick up and drop off passengers/parcels that arrive from time to time, with different optimization objectives. Previous studies lack practicability due to their conflicted objectives and inefficiency in inserting a new request into a route, a basic operation called insertion. In this …


Towards Optimal Concolic Testing, Xinyu Wang, Jun Sun, Zhenbang Chen, Peixin Zhang, Jingyi Wang, Yun Lin Jun 2018

Towards Optimal Concolic Testing, Xinyu Wang, Jun Sun, Zhenbang Chen, Peixin Zhang, Jingyi Wang, Yun Lin

Research Collection School Of Computing and Information Systems

Concolic testing integrates concrete execution (e.g., random testing) and symbolic execution for test case generation. It is shown to be more cost-effective than random testing or symbolic execution sometimes. A concolic testing strategy is a function which decides when to apply random testing or symbolic execution, and if it is the latter case, which program path to symbolically execute. Many heuristics-based strategies have been proposed. It is still an open problem what is the optimal concolic testing strategy. In this work, we make two contributions towards solving this problem. First, we show the optimal strategy can be defined based on …


Empath-D: Vr-Based Empathetic App Design For Accessibility, Wonjung Kim, Kenny Tsu Wei Choo, Youngki Lee, Archan Misra, Rajesh Krishna Balan Jun 2018

Empath-D: Vr-Based Empathetic App Design For Accessibility, Wonjung Kim, Kenny Tsu Wei Choo, Youngki Lee, Archan Misra, Rajesh Krishna Balan

Research Collection School Of Computing and Information Systems

With app-based interaction increasingly permeating all aspects of daily living, it is essential to ensure that apps are designed to be inclusive and are usable by a wider audience such as the elderly, with various impairments (e.g., visual, audio and motor). We propose Empath-D, a system that fosters empathetic design, by allowing app designers, in-situ, to rapidly evaluate the usability of their apps, from the perspective of impaired users. To provide a truly authentic experience, Empath-D carefully orchestrates the interaction between a smartphone and a VR device, allowing the user to experience simulated impairments in a virtual world while interacting …


Analyzing Requirements And Traceability Information To Improve Bug Localization, Michael Rath, David Lo, Patrick Mader May 2018

Analyzing Requirements And Traceability Information To Improve Bug Localization, Michael Rath, David Lo, Patrick Mader

Research Collection School Of Computing and Information Systems

Locating bugs in industry-size software systems is time consuming and challenging. An automated approach for assisting the process of tracing from bug descriptions to relevant source code benefits developers. A large body of previous work aims to address this problem and demonstrates considerable achievements. Most existing approaches focus on the key challenge of improving techniques based on textual similarity to identify relevant files. However, there exists a lexical gap between the natural language used to formulate bug reports and the formal source code and its comments. To bridge this gap, state-of-the-art approaches contain a component for analyzing bug history information …


Entagrec(++): An Enhanced Tag Recommendation System For Software Information Sites, Shawei Wang, David Lo, Bogdan Vasilescu, Alexander Serebrenik Apr 2018

Entagrec(++): An Enhanced Tag Recommendation System For Software Information Sites, Shawei Wang, David Lo, Bogdan Vasilescu, Alexander Serebrenik

Research Collection School Of Computing and Information Systems

Software engineers share experiences with modern technologies using software information sites, such as Stack Overflow. These sites allow developers to label posted content, referred to as software objects, with short descriptions, known as tags. Tags help to improve the organization of questions and simplify the browsing of questions for users. However, tags assigned to objects tend to be noisy and some objects are not well tagged. For instance, 14.7% of the questions that were posted in 2015 on Stack Overflow needed tag re-editing after the initial assignment. To improve the quality of tags in software information sites, we propose EnTagRec …


A New Revocable And Re-Delegable Proxy Signature And Its Application, Shengmin Xu, Guomin Yang, Yi Mu Mar 2018

A New Revocable And Re-Delegable Proxy Signature And Its Application, Shengmin Xu, Guomin Yang, Yi Mu

Research Collection School Of Computing and Information Systems

With the popularity of cloud computing and mobile Apps, on-demand services such as on-line music or audio streaming and vehicle booking are widely available nowadays. In order to allow efficient delivery and management of the services, for large-scale on-demand systems, there is usually a hierarchy where the service provider can delegate its service to a top-tier (e.g., countrywide) proxy who can then further delegate the service to lower level (e.g., region-wide) proxies. Secure (re-)delegation and revocation are among the most crucial factors for such systems. In this paper, we investigate the practical solutions for achieving re-delegation and revocation utilizing proxy …