Learning Likely Invariants To Explain Why A Program Fails,
2017
Singapore Management University
Learning Likely Invariants To Explain Why A Program Fails, Long H. Pham, Jun Sun, Lyly Tran Thi, Jingyi Wang, Xin Peng
Research Collection School Of Computing and Information Systems
Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim to help programmers understand a bug by automatically generating likely invariants which are violated in the failed tests. Given a program with an initial assertion and at least one test case failing the assertion, we first generate random test cases, identify potential bug locations through bug localization, and then generate program state mutation based on active learning techniques to identify a predicate 'explaining' …
Evidence-Based Devops For Continuous Collaboration, Process, And Delivery,
2017
Southern Illinois University Carbondale
Evidence-Based Devops For Continuous Collaboration, Process, And Delivery, Weon S. Chung
ASA Multidisciplinary Research Symposium
The purpose of this research is to propose Evidence-Based DevOps and to demonstrate its application to software reengineering. For this purpose, we borrow an approach from Medicine, Evidence-Based Medicine (EBM), and apply it to DevOps. Evidence-Based DevOps supports continuous collaboration, process, and deployment within or across diverse teams.
Automatic Loop-Invariant Generation And Refinement Through Selective Sampling,
2017
Singapore Management University
Automatic Loop-Invariant Generation And Refinement Through Selective Sampling, Jiaying Li, Jun Sun, Li Li, Quang Loc Le, Shang-Wei Lin
Research Collection School Of Computing and Information Systems
Automatic loop-invariant generation is important in program analysis and verification. In this paper, we propose to generate loop-invariants automatically through learning and verification. Given a Hoare triple of a program containing a loop, we start with randomly testing the program, collect program states at run-time and categorize them based on whether they satisfy the invariant to be discovered. Next, classification techniques are employed to generate a candidate loop-invariant automatically. Afterwards, we refine the candidate through selective sampling so as to overcome the lack of sufficient test cases. Only after a candidate invariant cannot be improved further through selective sampling, we …
Fib: Squeezing Loop Invariants By Interpolation Between Forward/Backward Predicate Transformers,
2017
Singapore Management University
Fib: Squeezing Loop Invariants By Interpolation Between Forward/Backward Predicate Transformers, Shang-Wei Lin, Jun Sun, Hao Xiao, Yang Liu, David Sana, Henri Hansen
Research Collection School Of Computing and Information Systems
Loop invariant generation is a fundamental problem in program analysis and verification. In this work, we propose a new approach to automatically constructing inductive loop invariants. The key idea is to aggressively squeeze an inductive invariant based on Craig interpolants between forward and backward reachability analysis. We have evaluated our approach by a set of loop benchmarks, and experimental results show that our approach is promising.
Mining Implicit Design Templates For Actionable Code Reuse,
2017
National University of Singapore
Mining Implicit Design Templates For Actionable Code Reuse, Yun Lin, Guozhu Meng, Yinxing Yue, Zhenchang Xing, Jun Sun, Xin Peng, Yang Liu, Wenyun Zhao, Jin Song Dong
Research Collection School Of Computing and Information Systems
In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java …
Sudoku App: Model-Driven Development Of Android Apps Using Ocl?,
2017
The University of Texas at El Paso
Sudoku App: Model-Driven Development Of Android Apps Using Ocl?, Yoonsik Cheon, Aditi Barua
Departmental Technical Reports (CS)
Model driven development (MDD) shifts the focus of software development from writing code to building models by developing an application as a series of transformations on models including eventual code generation. Can the key ideas of MDD be applied to the development of Android apps, one of the most popular mobile platforms of today? To answer this question, we perform a small case study of developing an Android app for playing Sudoku puzzles. We use the Object Constraint Language (OCL) as the notation for creating precise models and translate OCL constraints to Android Java code. Our findings are mixed in …
A High Quality, Eulerian 3d Fluid Solver In C++,
2017
California Polytechnic State University, San Luis Obispo
A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan
Computer Science and Software Engineering
Fluids are a part of everyday life, yet are one of the hardest elements to properly render in computer graphics. Water is the most obvious entity when thinking of what a fluid simulation can achieve (and it is indeed the focus of this project), but many other aspects of nature, like fog, clouds, and particle effects. Real-time graphics like video games employ many heuristics to approximate these effects, but large-scale renderers aim to simulate these effects as closely as possible.
In this project, I wish to achieve effects of the latter nature. Using the Eulerian technique of discrete grids, I …
Migrating From Sql To Nosql Database: Practices And Analysis,
2017
United Arab Emirates University
Migrating From Sql To Nosql Database: Practices And Analysis, Fatima Jamal Al Shekh Yassin
Accounting Dissertations
Most of the enterprises that are dealing with big data are moving towards using
NoSQL data structures to represent data. Converting existing SQL structures to
NoSQL structure is a very important task where we should guarantee both better
Performance and accurate data. The main objective of this thesis is to highlight the
most suitable NoSQL structure to migrate from relational Database in terms of high
performance in reading data. Different combinations of NoSQL structures have been tested and compared with SQL structure to be able to conclude the best design to use.For SQL structure, we used the MySQL data that …
Improving Probability Estimation Through Active Probabilistic Model Learning,
2017
Singapore Management University
Improving Probability Estimation Through Active Probabilistic Model Learning, Jingyi Wang, Xiaohong Chen, Jun Sun, Shengchao Qin
Research Collection School Of Computing and Information Systems
It is often necessary to estimate the probability of certain events occurring in a system. For instance, knowing the probability of events triggering a shutdown sequence allows us to estimate the availability of the system. One approach is to run the system multiple times and then construct a probabilistic model to estimate the probability. When the probability of the event to be estimated is low, many system runs are necessary in order to generate an accurate estimation. For complex cyber-physical systems, each system run is costly and time-consuming, and thus it is important to reduce the number of system runs …
Reproducible Research For Computing In Science & Engineering,
2017
George Washington University
Reproducible Research For Computing In Science & Engineering, Lorena A. Barba, George K. Thiruvathukal
Computer Science: Faculty Publications and Other Works
The editors of the new track for reproducible research outline the parameters for future peer review, submission, and access, highlighting the magazine’s previous work in this field and some of the challenges still to come.
Eeg-Based Emotion Recognition Via Fast And Robust Feature Smoothing,
2017
Nanyang Technological University
Eeg-Based Emotion Recognition Via Fast And Robust Feature Smoothing, Cheng Tang, Di Wang, Ah-Hwee Tan, Chunyan Miao
Research Collection School Of Computing and Information Systems
Electroencephalograph (EEG) signals reveal much of our brain states and have been widely used in emotion recognition. However, the recognition accuracy is hardly ideal mainly due to the following reasons: (i) the features extracted from EEG signals may not solely reflect one’s emotional patterns and their quality is easily affected by noise; and (ii) increasing feature dimension may enhance the recognition accuracy, but it often requires extra computation time. In this paper, we propose a feature smoothing method to alleviate the aforementioned problems. Specifically, we extract six statistical features from raw EEG signals and apply a simple yet cost-effective feature …
A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language,
2017
Singapore Management University
A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt
Research Collection School Of Computing and Information Systems
A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing …
Enabling Phased Array Signal Processing For Mobile Wifi Devices,
2017
Singapore Management University
Enabling Phased Array Signal Processing For Mobile Wifi Devices, Kun Qian, Chenshu Wu, Zheng Yang, Zimu Zhou, Xu Wang, Yunhao Liu
Research Collection School Of Computing and Information Systems
Modern mobile devices are equipped with multiple antennas, which brings various wireless sensing applications such as accurate localization, contactless human detection, and wireless human-device interaction. A key enabler for these applications is phased array signal processing, especially Angle of Arrival (AoA) estimation. However, accurate AoA estimation on commodity devices is non-trivial due to limited number of antennas and uncertain phase offsets. Previous works either rely on elaborate calibration or involve contrived human interactions. In this paper, we aim to enable practical AoA measurements on commodity off-the-shelf (COTS) mobile devices. The key insight is to involve users’ natural rotation to formulate …
Understanding Inactive Yet Available Assignees In Github,
2017
Beijing University of Aeronautics and Astronautics (Beihang University)
Understanding Inactive Yet Available Assignees In Github, Jing Jiang, David Lo, Xinyu Ma, Fuli Feng, Li Zhang
Research Collection School Of Computing and Information Systems
Context In GitHub, an issue or a pull request can be assigned to a specific assignee who is responsible for working on this issue or pull request. Due to the principle of voluntary participation, available assignees may remain inactive in projects. If assignees ever participate in projects, they are active assignees; otherwise, they are inactive yet available assignees (inactive assignees for short). Objective Our objective in this paper is to provide a comprehensive analysis of inactive yet available assignees in GitHub. Method We collect 2,374,474 records of activities in 37 popular projects, and 797,756 records of activities in 687 projects …
Answerbot: Automated Generation Of Answer Summary To Developers’ Technical Questions,
2017
Singapore Management University
Answerbot: Automated Generation Of Answer Summary To Developers’ Technical Questions, Bowen Xu, Zhenchang Xing, Xin Xia, David Lo
Research Collection School Of Computing and Information Systems
The prevalence of questions and answers on domain-specific Q&A sites like Stack Overflow constitutes a core knowledge asset for software engineering domain. Although search engines can return a list of questions relevant to a user query of some technical question, the abundance of relevant posts and the sheer amount of information in them makes it difficult for developers to digest them and find the most needed answers to their questions. In this work, we aim to help developers who want to quickly capture the key points of several answer posts relevant to a technical question before they read the details …
Apibot: Question Answering Bot For Api Documentation,
2017
Singapore Management University
Apibot: Question Answering Bot For Api Documentation, Yuan Tian, Ferdian Thung, Abhishek Sharma, David Lo
Research Collection School Of Computing and Information Systems
As the carrier of Application Programming Interfaces (APIs) knowledge, API documentation plays a crucial role in how developers learn and use an API. It is also a valuable information resource for answering API-related questions, especially when developers cannot find reliable answers to their questions online/offline. However, finding answers to API-related questions from API documentation might not be easy because one may have to manually go through multiple pages before reaching the relevant page, and then read and understand the information inside the relevant page to figure out the answers. To deal with this challenge, we develop APIBot, a bot that …
Capsense: Capacitor-Based Activity Sensing For Kinetic Energy Harvesting Powered Wearable Devices,
2017
Singapore Management University
Capsense: Capacitor-Based Activity Sensing For Kinetic Energy Harvesting Powered Wearable Devices, Guohao Lan, Dong Ma, Weitao Xu, Mahbub Hassan, Wen Hu
Research Collection School Of Computing and Information Systems
We propose a new activity sensing method, CapSense, which detects activities of daily living (ADL) by sampling the voltage of the kinetic energy harvesting (KEH) capacitor at an ultra low sampling rate. Unlike conventional sensors that generate only instantaneous motion information of the subject, KEH capacitors accumulate and store human generated energy over time. Given that humans produce kinetic energy at distinct rates for different ADL, the KEH capacitor can be sampled only once in a while to observe the energy generation rate and identify the current activity. Thus, with CapSense, it is possible to avoid collecting time series motion …
The Impact Of Coverage On Bug Density In A Large Industrial Software Project,
2017
Heidelberg University
The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo
Research Collection School Of Computing and Information Systems
Measuring quality of test suites is one of the major challenges of software testing. Code coverage identifies tested and untested parts of code and is frequently used to approximate test suite quality. Multiple previous studies have investigated the relationship between coverage ratio and test suite quality, without a clear consent in the results. In this work we study whether covered code contains a smaller number of future bugs than uncovered code (assuming appropriate scaling). If this correlation holds and bug density is lower in covered code, coverage can be regarded as a meaningful metric to estimate the adequacy of testing. …
On Locating Malicious Code In Piggybacked Android Apps,
2017
University of Luxembourg
On Locating Malicious Code In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon
Research Collection School Of Computing and Information Systems
To devise efficient approaches and tools for detecting malicious packages in the Android ecosystem, researchers are increasingly required to have a deep understanding of malware. There is thus a need to provide a framework for dissecting malware and locating malicious program fragments within app code in order to build a comprehensive dataset of malicious samples. Towards addressing this need, we propose in this work a tool-based approach called HookRanker, which provides ranked lists of potentially malicious packages based on the way malware behaviour code is triggered. With experiments on a ground truth of piggybacked apps, we are able to automatically …
File-Level Defect Prediction: Unsupervised Vs. Supervised Models,
2017
Singapore Management University
File-Level Defect Prediction: Unsupervised Vs. Supervised Models, Meng Yan, Yicheng Fang, David Lo, Xin Xia, Xiaohong Zhang
Research Collection School Of Computing and Information Systems
Background: Software defect models can help software quality assurance teams to allocate testing or code review resources. A variety of techniques have been used to build defect prediction models, including supervised and unsupervised methods. Recently, Yang et al. [1] surprisingly find that unsupervised models can perform statistically significantly better than supervised models in effort-aware change-level defect prediction. However, little is known about relative performance of unsupervised and supervised models for effort-aware file-level defect prediction. Goal: Inspired by their work, we aim to investigate whether a similar finding holds in effort-aware file-level defect prediction. Method: We replicate Yang et al.'s study …
