How To Break An Api: Cost Negotiation And Community Values In Three Software Ecosystems,
2016
Singapore Management University
How To Break An Api: Cost Negotiation And Community Values In Three Software Ecosystems, Christopher Bogart, Christian K\303\244stner, James Herbsleb, Ferdian Thung
Research Collection School Of Computing and Information Systems
Change introduces conict into software ecosystems: breaking changes may ripple through the ecosystem and trigger rework for users of a package, but often developers can invest additional effort or accept opportunity costs to alleviate or delay downstream costs. We performed a multiple case study of three software ecosystems with different tooling and philosophies toward change, Eclipse, R/CRAN, and Node.js/npm, to understand how developers make decisions about change and change-related costs and what practices, tooling, and policies are used. We found that all three ecosystems differ substantially in their practices and expectations toward change and that those differences can be explained …
Proteus: Computing Disjunctive Loop Summary Via Path Dependency Analysis,
2016
Singapore Management University
Proteus: Computing Disjunctive Loop Summary Via Path Dependency Analysis, Xiaofei Xie, Bihuan Chen, Yang Liu, Wei Le, Xiaohong Li
Research Collection School Of Computing and Information Systems
Loops are challenging structures for program analysis, especially when loops contain multiple paths with complex interleaving executions among these paths. In this paper, we first propose a classification of multi-path loops to understand the complexity of the loop execution, which is based on the variable updates on the loop conditions and the execution order of the loop paths. Secondly, we propose a loop analysis framework, named Proteus, which takes a loop program and a set of variables of interest as inputs and summarizes path-sensitive loop effects on the variables. The key contribution is to use a path dependency automaton (PDA) …
Static Loop Analysis And Its Applications,
2016
Singapore Management University
Static Loop Analysis And Its Applications, Xiaofei Xie
Research Collection School Of Computing and Information Systems
Loops are challenging structures in program analysis, and an effective loop analysis is crucial in the applications, such as symbolic execution and program verification. In the research, we will first perform a deep analysis and propose a classification according to the complexity of the loops. Then try to propose techniques for analyzing and summarizing different loops. At last, we apply the techniques in multiple applications.
A Decomposition Method For Estimating Recursive Logit Based Route Choice Models,
2016
Singapore Management University
A Decomposition Method For Estimating Recursive Logit Based Route Choice Models, Tien Mai, Fabian Bastin, Emma Frejinger
Research Collection School Of Computing and Information Systems
Fosgerau et al. (2013) recently proposed the recursive logit (RL) model for route choice problems, that can be consistently estimated and easily used for prediction without any sampling of choice sets. Its estimation however requires solving many large-scale systems of linear equations, which can be computationally costly for real data sets. We design a decomposition (DeC) method in order to reduce the number of linear systems to be solved, opening the possibility to estimate more complex RL based models, for instance mixed RL models. We test the performance of the DeC method by estimating the RL model on two networks …
Message From The Chairs,
2016
Singapore Management University
Message From The Chairs, Andrew Begel, Fabio Calefato, Christoph Treude
Research Collection School Of Computing and Information Systems
The Workshop on Social Software Engineering (SSE) focuses on the interplay between social computing and software engineering. On one hand, social factors in software engineering activities, processes and tools are essential for improving the quality of development processes and the software produced by them. Examples include the role of situational awareness and multi-cultural factors in collaborative software development. On the other hand, social software mediates people-to-people communication, supporting human choices, actions, and interactions with each other. Social software needs to accommodate a wide range of social concepts, such as trust, governance, reputation, and privacy. Being social, the software would also …
Software Engineering For Science,
2016
University of Alabama - Tuscaloosa
Software Engineering For Science, Jeffrey C. Carver, Neil P. Chue Hong, George K. Thiruvathukal
Computer Science: Faculty Publications and Other Works
Software Engineering for Science provides an in-depth collection of peer-reviewed chapters that describe experiences with applying software engineering practices to the development of scientific software. It provides a better understanding of how software engineering is and should be practiced, and which software engineering practices are effective for scientific software.
The book starts with a detailed overview of the Scientific Software Lifecycle, and a general overview of the scientific software development process. It highlights key issues commonly arising during scientific software development, as well as solutions to these problems.
The second part of the book provides examples of the use of …
Connecting Program Synthesis And Reachability: Automatic Program Repair Using Test-Input Generation,
2016
University of Nebraska-Lincoln
Connecting Program Synthesis And Reachability: Automatic Program Repair Using Test-Input Generation, Thanhvu Nguyen, Westley Weimer, Deepak Kapur, Stephanie Forrest
School of Computing: Technical Reports
We prove that certain formulations of program synthesis and reachability are equivalent. Specifically, our constructive proof shows the reductions between the template-based synthesis problem, which generates a program in a pre-specified form, and the reachability problem, which decides the reachability of a program location. This establishes a link between the two research fields and allows for the transfer of techniques and results between them.
To demonstrate the equivalence, we develop a program repair prototype using reachability tools. We transform a buggy program and its required specification into a specific program containing a location reachable only when the original program can …
Computer-Aided Design Of Algorithms Of Pulsed Control Of Arc Welding Process Based On Numerical Simulation,
2016
Tomsk State University
Computer-Aided Design Of Algorithms Of Pulsed Control Of Arc Welding Process Based On Numerical Simulation, Oksana I. Shpigunova, Anatoliy A. Glazunov
The 8th International Conference on Physical and Numerical Simulation of Materials Processing
No abstract provided.
Code Metrics For Predicting Risk Levels Of Android Applications,
2016
North Carolina State University
Code Metrics For Predicting Risk Levels Of Android Applications, Akond A. Rahman
KSU Proceedings on Cybersecurity Education, Research and Practice
Android applications pose security and privacy risks for end-users. Early prediction of risk levels that are associated with Android applications can help Android developers is releasing less risky applications to end-users. Researchers have showed how code metrics can be used as early predictors of failure prone software components. Whether or not code metrics can be used to predict risk levels of Android applications requires systematic exploration. The goal of this paper is to aid Android application developers in assessing the risk associated with developed Android applications by identifying code metrics that can be used as predictors to predict two levels …
Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications,
2016
Singapore Management University
Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications, Mon Kywe Su
Dissertations and Theses Collection
Mobile systems are generally composed of three layers of software: application layer where third-party applications are installed, framework layer where Application Programming Interfaces (APIs) are exposed, and kernel layer where low-level system operations are executed. In this dissertation, we focus on security and vulnerability analysis of framework and application layers. Security mechanisms, such as Android’s sandbox and permission systems, exist in framework layer, while malware scanners protects application layer. However, there are rooms for improvement in both mechanisms. For instance, Android’s permission system is known to be implemented in ad-hoc manner and not well-tested for vulnerabilities. Application layer also focuses …
Mabic: Mobile Application Builder For Interactive Communication,
2016
Western Kentucky University
Mabic: Mobile Application Builder For Interactive Communication, Huy Manh Nguyen
Masters Theses & Specialist Projects
Nowadays, the web services and mobile technology advance to a whole new level. These technologies make the modern communication faster and more convenient than the traditional way. People can also easily share data, picture, image and video instantly. It also saves time and money. For example: sending an email or text message is cheaper and faster than a letter. Interactive communication allows the instant exchange of feedback and enables two-way communication between people and people, or people and computer. It increases the engagement of sender and receiver in communication.
Although many systems such as REDCap and Taverna are built for …
User-Centered Design Of Multi-Gene Sequencing Panel Reports For Clinicians.,
2016
Children's Mercy Hospital
User-Centered Design Of Multi-Gene Sequencing Panel Reports For Clinicians., Elizabeth Cutting, Meghan Banchero, Amber L. Beitelshees, James J. Cimino, Guilherme Del Fiol, Ayse P. Gurses, Mark A. Hoffman, Linda Jo Bone Jeng, Kensaku Kawamoto, Mark Kelemen, Harold Alan Pincus, Alan R. Shuldiner, Marc S. Williams, Toni I. Pollin, Casey Lynnette Overby
Manuscripts, Articles, Book Chapters and Other Papers
The objective of this study was to develop a high-fidelity prototype for delivering multi-gene sequencing panel (GS) reports to clinicians that simulates the user experience of a final application. The delivery and use of GS reports can occur within complex and high-paced healthcare environments. We employ a user-centered software design approach in a focus group setting in order to facilitate gathering rich contextual information from a diverse group of stakeholders potentially impacted by the delivery of GS reports relevant to two precision medicine programs at the University of Maryland Medical Center. Responses from focus group sessions were transcribed, coded and …
Determining Quality- And Energy-Aware Multiple Contexts In Pervasive Computing Environments,
2016
University of Maryland at Baltimore
Determining Quality- And Energy-Aware Multiple Contexts In Pervasive Computing Environments, Nirmalya Roy, Archan Misra, Sajal K. Das, Christine Julien
Research Collection School Of Computing and Information Systems
In pervasive computing environments, understanding the context of an entity is essential for adapting the application behavior to changing situations. In our view, context is a high-level representation of a user or entity's state and can capture location, activities, social relationships, capabilities, etc. Inherently, however, these high-level context metrics are difficult to capture using uni-modal sensors only and must therefore be inferred using multi-modal sensors. A key challenge in supporting context-aware pervasive computing is how to determine multiple high-level context metrics simultaneously and energy-efficiently using low-level sensor data streams collected from the environment and the entities present therein. A key …
Lifs: Low Human-Effort, Device-Free Localization With Fine-Grained Subcarrier Information,
2016
Northwest University
Lifs: Low Human-Effort, Device-Free Localization With Fine-Grained Subcarrier Information, Ju Wang, Hongbo Jiang, Jie Xiong, Kyle Jamieson, Xiaojiang Chen, Dingyi Fang, Binbin Xie
Research Collection School Of Computing and Information Systems
Device-free localization of people and objects indoors not equipped with radios is playing a critical role in many emerging applications. This paper presents an accurate model-based device-free localization system LiFS, implemented on cheap commercial off-the-shelf (COTS) Wi-Fi devices. Unlike previous COTS device-based work, LiFS is able to localize a target accurately without offline training. The basic idea is simple: channel state information (CSI) is sensitive to a target's location and by modelling the CSI measurements of multiple wireless links as a set of power fading based equations, the target location can be determined. However, due to rich multipath propagation indoors, …
Combining Word Embedding With Information Retrieval To Recommend Similar Bug Reports,
2016
Zhejiang University
Combining Word Embedding With Information Retrieval To Recommend Similar Bug Reports, Xinli Yang, David Lo, Xin Xia, Lingfeng Bao, Jianling Sun
Research Collection School Of Computing and Information Systems
Similar bugs are bugs that require handling of many common code files. Developers can often fix similar bugs with a shorter time and a higher quality since they can focus on fewer code files. Therefore, similar bug recommendation is a meaningful task which can improve development efficiency. Rocha et al. propose the first similar bug recommendation system named NextBug. Although NextBug performs better than a start-of-the-art duplicated bug detection technique REP, its performance is not optimal and thus more work is needed to improve its effectiveness. Technically, it is also rather simple as it relies only upon a standard information …
Amalgam+: Composing Rich Information Sources For Accurate Bug Localization,
2016
Singapore Management University
Amalgam+: Composing Rich Information Sources For Accurate Bug Localization, Shaowei Wang, David Lo
Research Collection School Of Computing and Information Systems
During the evolution of a software system, a large number of bug reports are submitted. Locating the source code files that need to be fixed to resolve the bugs is a challenging problem. Thus, there is a need for a technique that can automatically figure out these buggy files. A number of bug localization solutions that take in a bug report and output a ranked list of files sorted based on their likelihood to be buggy have been proposed in the literature. However, the accuracy of these tools still needs to be improved. In this paper, to address this need, …
Recommending Code Changes For Automatic Backporting Of Linux Device Drivers,
2016
Singapore Management University
Recommending Code Changes For Automatic Backporting Of Linux Device Drivers, Ferdian Thung, Xuan Bach D. Le, David Lo
Research Collection School Of Computing and Information Systems
Device drivers are essential components of any operating system (OS). They specify the communication protocol that allows the OS to interact with a device. However, drivers for new devices are usually created for a specific OS version. These drivers often need to be backported to the older versions to allow use of the new device. Backporting is often done manually, and is tedious and error prone. To alleviate this burden on developers, we propose an automatic recommendation system to guide the selection of backporting changes. Our approach analyzes the version history for cues to recommend candidate changes. We have performed …
Empirical Study On Synthesis Engines For Semantics-Based Program Repair,
2016
Singapore Management University
Empirical Study On Synthesis Engines For Semantics-Based Program Repair, Le Dinh Xuan Bach, David Lo, Claire Le Goues
Research Collection School Of Computing and Information Systems
Automatic Program Repair (APR) is an emerging and rapidly growing research area, with many techniques proposed to repair defective software. One notable state-of-the-art line of APR approaches is known as semantics-based techniques, e.g., Angelix, which extract semantics constraints, i.e., specifications, via symbolic execution and test suites, and then generate repairs conforming to these constraints using program synthesis. The repair capability of such approaches-expressive power, output quality, and scalability-naturally depends on the underlying synthesis technique. However, despite recent advances in program synthesis, not much attention has been paid to assess, compare, or leverage the variety of available synthesis engine capabilities in …
Enhancing Automated Program Repair With Deductive Verification,
2016
Singapore Management University
Enhancing Automated Program Repair With Deductive Verification, Xuan-Bach D. Le, Quang Loc Le, David Lo, Claire Le Goues
Research Collection School Of Computing and Information Systems
Automated program repair (APR) is a challenging process of detecting bugs, localizing buggy code, generating fix candidates and validating the fixes. Effectiveness of program repair methods relies on the generated fix candidates, and the methods used to traverse the space of generated candidates to search for the best ones. Existing approaches generate fix candidates based on either syntactic searches over source code or semantic analysis of specification, e.g., test cases. In this paper, we propose to combine both syntactic and semantic fix candidates to enhance the search space of APR, and provide a function to effectively traverse the search space. …
Bilevel Model-Based Discriminative Dictionary Learning For Recognition,
2016
Singapore Management University
Bilevel Model-Based Discriminative Dictionary Learning For Recognition, Pan Zhou, Chao Zhang, Lin Zhouchen
Research Collection School Of Computing and Information Systems
Most supervised dictionary learning methods optimize the combinations of reconstruction error, sparsity prior, and discriminative terms. Thus, the learnt dictionaries may not be optimal for recognition tasks. Also, the sparse codes learning models in the training and the testing phases are inconsistent. Besides, without utilizing the intrinsic data structure, many dictionary learning methods only employ the 0 or 1 norm to encode each datum independently, limiting the performance of the learnt dictionaries. We present a novel bilevel model-based discriminative dictionary learning method for recognition tasks. The upper level directly minimizes the classification error, while the lower level uses the sparsity …
