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

Software Engineering Commons

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

3,935 Full-Text Articles 5,356 Authors 1,475,542 Downloads 167 Institutions

All Articles in Software Engineering

Faceted Search

3,935 full-text articles. Page 63 of 155.

Automating Intention Mining, Qiao HUANG, Xin XIA, David LO, Gail C. MURPHY 2018 Zhejiang University

Automating Intention Mining, Qiao Huang, Xin Xia, David Lo, Gail C. Murphy

Research Collection School Of Computing and Information Systems

Developers frequently discuss aspects of the systems they are developing online. The comments they post to discussions form a rich information source about the system. Intention mining, a process introduced by Di Sorbo et al., classifies sentences in developer discussions to enable further analysis. As one example of use, intention mining has been used to help build various recommenders for software developers. The technique introduced by Di Sorbo et al. to categorize sentences is based on linguistic patterns derived from two projects. The limited number of data sources used in this earlier work introduces questions about the comprehensiveness of intention …


Revisiting Supervised And Unsupervised Models For Effort-Aware Just-In-Time Defect Prediction, Qiao HUANG, Xin XIA, David LO 2018 Singapore Management University

Revisiting Supervised And Unsupervised Models For Effort-Aware Just-In-Time Defect Prediction, Qiao Huang, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Effort-aware just-in-time (JIT) defect prediction aims at finding more defective software changes with limited code inspection cost. Traditionally, supervised models have been used; however, they require sufficient labelled training data, which is difficult to obtain, especially for new projects. Recently, Yang et al. proposed an unsupervised model (i.e., LT) and applied it to projects with rich historical bug data. Interestingly, they reported that, under the same inspection cost (i.e., 20 percent of the total lines of code modified by all changes), it could find about 12% - 27% more defective changes than a state-of-the-art supervised model (i.e., EALR) when using …


Categorizing The Content Of Github Readme Files, Gede Artha Azriadi PRANA, Christoph TREUDE, Ferdian THUNG, Thushari ATAPATTU, David LO 2018 Singapore Management University

Categorizing The Content Of Github Readme Files, Gede Artha Azriadi Prana, Christoph Treude, Ferdian Thung, Thushari Atapattu, David Lo

Research Collection School Of Computing and Information Systems

README files play an essential role in shaping a developer’s first impression of a software repository and in documenting the software project that the repository hosts. Yet, we lack a systematic understanding of the content of a typical README file as well as tools that can process these files automatically. To close this gap, we conduct a qualitative study involving the manual annotation of 4,226 README file sections from 393 randomly sampled GitHub repositories and we design and evaluate a classifier and a set of features that can categorize these sections automatically. We find that information discussing the ‘What’ and …


Scaling-Up Stackelberg Security Games Applications Using Approximations, Arunesh SINHA, Aaron SCHLENKER, Donnabell DMELLO, Milind TAMBE 2018 Singapore Management University

Scaling-Up Stackelberg Security Games Applications Using Approximations, Arunesh Sinha, Aaron Schlenker, Donnabell Dmello, Milind Tambe

Research Collection School Of Computing and Information Systems

Stackelberg Security Games (SSGs) have been adopted widely for modeling adversarial interactions, wherein scalability of equilibrium computation is an important research problem. While prior research has made progress with regards to scalability, many real world problems cannot be solved satisfactorily yet as per current requirements; these include the deployed federal air marshals (FAMS) application and the threat screening (TSG) problem at airports. We initiate a principled study of approximations in zero-sum SSGs. Our contribution includes the following: (1) a unified model of SSGs called adversarial randomized allocation (ARA) games, (2) hardness of approximation for zero-sum ARA, as well as for …


Measuring Program Comprehension: A Large-Scale Field Study With Professionals, Xin XIA, Lingfeng BAO, David LO, Zhengchang XING, Ahmed E. HASSAN, Shanping LI 2018 Zhejiang University

Measuring Program Comprehension: A Large-Scale Field Study With Professionals, Xin Xia, Lingfeng Bao, David Lo, Zhengchang Xing, Ahmed E. Hassan, Shanping Li

Research Collection School Of Computing and Information Systems

During software development and maintenance, developers spend a considerable amount of time on program comprehension activities. Previous studies show that program comprehension takes up as much as half of a developer's time. However, most of these studies are performed in a controlled setting, or with a small number of participants, and investigate the program comprehension activities only within the IDEs. However, developers' program comprehension activities go well beyond their IDE interactions. In this paper, we extend our ActivitySpace framework to collect and analyze Human-Computer Interaction (HCI) data across many applications (not just the IDEs). We follow Minelli et al.'s approach …


Exploring Experiential Learning Model And Risk Management Process For An Undergraduate Software Architecture Course, Eng Lieh OUH, Yunghans IRAWAN 2018 Singapore Management University

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 2018 Singapore Management University

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 2018 Singapore Management University

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 …


A Tool For Optimizing Java 8 Stream Software Via Automated Refactoring, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed 2018 CUNY Hunter College

A Tool For Optimizing Java 8 Stream Software Via Automated Refactoring, Raffi T. Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed

Publications and Research

Streaming APIs are pervasive in mainstream Object-Oriented languages. For example, the Java 8 Stream API allows for functional-like, MapReduce-style operations in processing both finite and infinite data structures. However, using this API efficiently involves subtle considerations like determining when it is best for stream operations to run in parallel, when running operations in parallel can be less efficient, and when it is safe to run in parallel due to possible lambda expression side-effects. In this paper, we describe the engineering aspects of an open source automated refactoring tool called Optimize Streams that assists developers in writing optimal stream software in …


Cultivating Third Party Development In Platform-Centric Software Ecosystems: Extended Boundary Resources Model, Brown C. Msiska 2018 University of Oslo, Department of Informatics; University of Malawi, Department of Computer Science

Cultivating Third Party Development In Platform-Centric Software Ecosystems: Extended Boundary Resources Model, Brown C. Msiska

The African Journal of Information Systems

Software ecosystems provide an effective way through which software solutions can be constructed by composing software components, typically applications, developed by internal and external developers on top of a software platform. Third party development increases the potential of a software ecosystem to effectively and quickly respond to context-specific software requirements. The boundary resources model gives a theoretical account for cultivation of third party development premised on the role of platform boundary resources such as application programming interfaces (API). However, from a longitudinal case study of the DHIS2 software ecosystem, this paper observes that no matter how good the boundary resources …


Pfix: Fixing Concurrency Bugs Based On Memory Access Patterns, Huarui LIN, Zan WANG, Shuang LIU, Jun SUN, Dongdi ZHANG, Guangning WEI 2018 Singapore Management University

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 …


Break The Dead End Of Dynamic Slicing: Localizing Data And Control Omission Bug, Yun LIN, Jun SUN, Lyly TRAN, Guangdong BAI, Haijun WANG, Jin Song DONG 2018 Singapore Management University

Break The Dead End Of Dynamic Slicing: Localizing Data And Control Omission Bug, Yun Lin, Jun Sun, Lyly Tran, Guangdong Bai, Haijun Wang, Jin Song Dong

Research Collection School Of Computing and Information Systems

Dynamic slicing is a common way of identifying the root cause when a program fault is revealed. With the dynamic slicing technique, the programmers can follow data and control flow along the program execution trace to the root cause. However, the technique usually fails to work on omission bugs, i.e., the faults which are caused by missing executing some code. In many cases, dynamic slicing over-skips the root cause when an omission bug happens, leading the debugging process to a dead end. In this work, we conduct an empirical study on the omission bugs in the Defects4J bug repository. Our …


Hpc For Predictive Models In Healthcare, Luiz Fernando Capretz 2018 University of Western Ontario

Hpc For Predictive Models In Healthcare, Luiz Fernando Capretz

Electrical and Computer Engineering Publications

Increasingly we are faced with complex health data, thus researchers are limited in their capacity to mine data in a way that accounts for the complex inter-relationships between health variables of interest. This research tackles the challenge of producing accurate health prediction models in order to overcome the limitations of simple multivariate regression techniques and the assumption of linear association, also known as algorithmic models, by combining it with a soft computing approach. Predictive models develop methods to enable healthcare researchers and professionals to predict the likelihood of an individual's proclivity to a disease and the likely effectiveness of possible …


Enhancing 3d Visual Odometry With Single-Camera Stereo Omnidirectional Systems, Carlos A. Jaramillo 2018 The Graduate Center, City University of New York

Enhancing 3d Visual Odometry With Single-Camera Stereo Omnidirectional Systems, Carlos A. Jaramillo

Dissertations, Theses, and Capstone Projects

We explore low-cost solutions for efficiently improving the 3D pose estimation problem of a single camera moving in an unfamiliar environment. The visual odometry (VO) task -- as it is called when using computer vision to estimate egomotion -- is of particular interest to mobile robots as well as humans with visual impairments. The payload capacity of small robots like micro-aerial vehicles (drones) requires the use of portable perception equipment, which is constrained by size, weight, energy consumption, and processing power. Using a single camera as the passive sensor for the VO task satisfies these requirements, and it motivates the …


List, Sample, And Count, Ali Assarpour 2018 The Graduate Center, City University of New York

List, Sample, And Count, Ali Assarpour

Dissertations, Theses, and Capstone Projects

Counting plays a fundamental role in many scientific fields including chemistry, physics, mathematics, and computer science. There are two approaches for counting, the first relies on analytical tools to drive closed form expression, while the second takes advantage of the combinatorial nature of the problem to construct an algorithm whose output is the number of structures. There are many algorithmic techniques for counting, they cover the explicit approach of counting by listing to the approximate approach of counting by sampling.

This thesis looks at counting three sets of objects. First, we consider a subclass of boolean functions that are monotone. …


A Vector Field Design Approach To Animated Transitions, Yong WANG, Daniel ARCHAMBAULT, Carlos E. SCHEIDEGGER, Huamin QU 2018 Singapore Management University

A Vector Field Design Approach To Animated Transitions, Yong Wang, Daniel Archambault, Carlos E. Scheidegger, Huamin Qu

Research Collection School Of Computing and Information Systems

Animated transitions can be effective in explaining and exploring a small number of visualizations where there are drastic changes in the scene over a short interval of time. This is especially true if data elements cannot be visually distinguished by other means. Current research in animated transitions has mainly focused on linear transitions (all elements follow straight line paths) or enhancing coordinated motion through bundling of linear trajectories. In this paper, we introduce animated transition design, a technique to build smooth, non-linear transitions for clustered data with either minimal or no user involvement. The technique is flexible and simple to …


Rule-Based Specification Mining Leveraging Learning To Rank, Zherui CAO, Yuan TIAN, Bui Tien Duy LE, David LO 2018 Zhejiang University

Rule-Based Specification Mining Leveraging Learning To Rank, Zherui Cao, Yuan Tian, Bui Tien Duy Le, David Lo

Research Collection School Of Computing and Information Systems

Software systems are often released without formal specifications. To deal with the problem of lack of and outdated specifications, rule-based specification mining approaches have been proposed. These approaches analyze execution traces of a system to infer the rules that characterize the protocols, typically of a library, that its clients must obey. Rule-based specification mining approaches work by exploring the search space of all possible rules and use interestingness measures to differentiate specifications from false positives. Previous rule-based specification mining approaches often rely on one or two interestingness measures, while the potential benefit of combining multiple available interestingness measures is not …


Focusvr: Effective And Usable Vr Display Power Management, Kiat Wee Tan, Eduardo CUERVO, Rajesh Krishna BALAN 2018 Singapore Management University

Focusvr: Effective And Usable Vr Display Power Management, Kiat Wee Tan, Eduardo Cuervo, Rajesh Krishna Balan

Research Collection School Of Computing and Information Systems

In this paper, we present the design and implementation of FocusVR, a system for effectively and efficiently reducing the power consumption of Virtual Reality (VR) devices by smartly dimming their displays. These devices are becoming increasingly common with large companies such as Facebook (Oculus Rift), and HTC and Valve (Vive), recently releasing high quality VR devices to the consumer market. However, these devices require increasingly higher screen resolutions and refresh rates to be effective, and this in turn, leads to high display power consumption costs. We show how the use of smart dimming techniques, vignettes and color mapping, can significantly …


Neural-Machine-Translation-Based Commit Message Generation: How Far Are We?, Zhongxin LIU, Xin XIA, Ahmed E. HASSAN, David LO, Zhenchang XING, Xinyu WANG 2018 Singapore Management University

Neural-Machine-Translation-Based Commit Message Generation: How Far Are We?, Zhongxin Liu, Xin Xia, Ahmed E. Hassan, David Lo, Zhenchang Xing, Xinyu Wang

Research Collection School Of Computing and Information Systems

Commit messages can be regarded as the documentation of software changes. These messages describe the content and purposes of changes, hence are useful for program comprehension and software maintenance. However, due to the lack of time and direct motivation, commit messages sometimes are neglected by developers. To address this problem, Jiang et al. proposed an approach (we refer to it as NMT), which leverages a neural machine translation algorithm to automatically generate short commit messages from code. The reported performance of their approach is promising, however, they did not explore why their approach performs well. Thus, in this paper, we …


Api Method Recommendation Without Worrying About The Task-Api Knowledge Gap, Qiao HUANG, Xin XIA, Zhenchang XING, David LO, Xinyu WANG 2018 Singapore Management University

Api Method Recommendation Without Worrying About The Task-Api Knowledge Gap, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo, Xinyu Wang

Research Collection School Of Computing and Information Systems

Developers often need to search for appropriate APIs for theirprogramming tasks. Although most libraries have API referencedocumentation, it is not easy to find appropriate APIs due to thelexical gap and knowledge gap between the natural language description of the programming task and the API description in APIdocumentation. Here, the lexical gap refers to the fact that the samesemantic meaning can be expressed by different words, and theknowledge gap refers to the fact that API documentation mainlydescribes API functionality and structure but lacks other types ofinformation like concepts and purposes, which are usually the keyinformation in the task description. In this …


Digital Commons powered by bepress