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

Singapore Management University

Discipline
Keyword
Publication Year
Publication
Publication Type

Articles 211 - 240 of 413

Full-Text Articles in Programming Languages and Compilers

Examining Augmented Virtuality Impairment Simulation For Mobile App Accessibility Design, Tsu Wei, Kenny (Zhu Shuwei, Kenny) Choo, Rajesh Krishna Balan, Rajesh Krishna Balan May 2019

Examining Augmented Virtuality Impairment Simulation For Mobile App Accessibility Design, Tsu Wei, Kenny (Zhu Shuwei, Kenny) Choo, Rajesh Krishna Balan, Rajesh Krishna Balan

Research Collection School Of Computing and Information Systems

With mobile apps rapidly permeating all aspects of daily living with use by all segments of the population, it is crucial to support the evaluation of app usability for specific impaired users to improve app accessibility. In this work, we examine the effects of using our augmented virtuality impairment simulation system–Empath-D–to support experienced designer-developers to redesign a mockup of commonly used mobile application for cataract-impaired users, comparing this with existing tools that aid designing for accessibility. We show that the use of augmented virtuality for assessing usability supports enhanced usability challenge identification, finding more defects and doing so more accurately …


Graph Based Optimization For Multiagent Cooperation, Arambam James Singh, Akshat Kumar May 2019

Graph Based Optimization For Multiagent Cooperation, Arambam James Singh, Akshat Kumar

Research Collection School Of Computing and Information Systems

We address the problem of solving math programs defined over a graph where nodes represent agents and edges represent interaction among agents. The objective and constraint functions of this program model the task agent team must perform and the domain constraints. In this multiagent setting, no single agent observes the complete objective and all the constraints of the program. Thus, we develop a distributed message-passing approach to solve this optimization problem. We focus on the class of graph structured linear and quadratic programs (LPs/QPs) which can model important multiagent coordination frameworks such as distributed constraint optimization (DCOP). For DCOPs, our …


Towards Zero Knowledge Learning For Cross Language Api Mappings, Duy Quoc Nghi Bui May 2019

Towards Zero Knowledge Learning For Cross Language Api Mappings, Duy Quoc Nghi Bui

Research Collection School Of Computing and Information Systems

Programmers often need to migrate programs from one language or platform to another in order to implement functionality, instead of rewriting the code from scratch. However, most techniques proposed to identify API mappings across languages and facilitate automated program translation require manually curated parallel corpora that contain already mapped API seeds or functionally-equivalent code using the APIs in two different languages so that the techniques can have an anchor to map APIs. To alleviate the need of curating parallel data and to generalize the applicability of program translation techniques, we develop a new automated approach for identifying API mappings across …


Automatically Generating Documentation For Lambda Expressions In Java, Anwar Alqaimi, Patanamon Thongtanunam, Christoph Treude May 2019

Automatically Generating Documentation For Lambda Expressions In Java, Anwar Alqaimi, Patanamon Thongtanunam, Christoph Treude

Research Collection School Of Computing and Information Systems

When lambda expressions were introduced to the Java programming language as part of the release of Java 8 in 2014, they were the language’s first step into functional programming. Since lambda expressions are still relatively new, not all developers use or understand them. In this paper, we first present the results of an empirical study to determine how frequently developers of GitHub repositories make use of lambda expressions and how they are documented. We find that 11% of Java GitHub repositories use lambda expressions, and that only 6% of the lambda expressions are accompanied by source code comments. We then …


Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets, Sebastian Baltes, Christoph Treude, Stephan Diehl May 2019

Sotorrent: Studying The Origin, Evolution, And Usage Of Stack Overflow Code Snippets, Sebastian Baltes, Christoph Treude, Stephan Diehl

Research Collection School Of Computing and Information Systems

Stack Overflow (SO) is the most popular questionand-answer website for software developers, providing a large amount of copyable code snippets. Like other software artifacts, code on SO evolves over time, for example when bugs are fixed or APIs are updated to the most recent version. To be able to analyze how code and the surrounding text on SO evolves, we built SOTorrent, an open dataset based on the official SO data dump. SOTorrent provides access to the version history of SO content at the level of whole posts and individual text and code blocks. It connects code snippets from SO …


Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation, Shengmin Xu, Guomin Yang, Yi Mu Apr 2019

Revocable Attribute-Based Encryption With Decryption Key Exposure Resistance And Ciphertext Delegation, Shengmin Xu, Guomin Yang, Yi Mu

Research Collection School Of Computing and Information Systems

Attribute-based encryption (ABE) enables fine-grained access control over encrypted data. A practical and popular approach for handing revocation in ABE is to use the indirect revocation mechanism, in which a key generation centre (KGC) periodically broadcasts key update information for all data users over a public channel. Unfortunately, existing RABE schemes are vulnerable to decryption key exposure attack which has been well studied in the identity-based setting. In this paper, we introduce a new notion for RABE called re-randomizable piecewise key generation by allowing a data user to re-randmomize the combined secret key and the key update to obtain the …


Functionality & Privacy In Mobile Applications - Who's Going To Win The Game, Debin Gao Mar 2019

Functionality & Privacy In Mobile Applications - Who's Going To Win The Game, Debin Gao

MITB Thought Leadership Series

MOBILE APPS have brought so much convenience and fun into our lives. From route planning to grocery shopping, reserving flights and hiring bicycles, to the action games we play to pass the time on public transport.


Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li Mar 2019

Microbtc: Efficient, Flexible And Fair Micropayment For Bitcoin Using Hash Chains, Zhiguo Wan, Robert H. Deng, David Kuo Chuen Lee, Ying Li

Research Collection School Of Computing and Information Systems

While Bitcoin gains increasing popularity in different payment scenarios, the transaction fees make it difficult to be applied to micropayment. Given the wide applicability of micropayment, it is crucial for all cryptocurrencies including Bitcoin to provide effective support therein. In light of this, a number of low-cost micropayment schemes for Bitcoin have been proposed recently to reduce micropayment costs. Existing schemes, however, suffer from drawbacks such as high computation cost, inflexible payment value, and possibly unfair exchanges. The paper proposes two new micropayment schemes, namely the basic MicroBTC and the advanced MicroBTC, for Bitcoin by integrating the hash chain technique …


Topical Co-Attention Networks For Hashtag Recommendation On Microblogs, Yang Li, Ting Liu, Jingwen Hu, Jing Jiang Feb 2019

Topical Co-Attention Networks For Hashtag Recommendation On Microblogs, Yang Li, Ting Liu, Jingwen Hu, Jing Jiang

Research Collection School Of Computing and Information Systems

Hashtags provide a simple and natural way of organizing content in microblog services. Along with the fast growing of microblog services, the task of recommending hashtags for microblogs has been given increasing attention in recent years. However, much of the research depends on hand-crafted features. Motivated by the successful use of neural models for many natural language processing tasks, in this paper, we adopt an attention based neural network to learn the representation of a microblog post. Unlike previous works, which only focus on content attention of microblogs, we propose a novel Topical CoAttention Network (TCAN) that jointly models content …


Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo Feb 2019

Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo

Research Collection School Of Computing and Information Systems

Code review is the process of manual inspection on the revision of the source code in order to find out whether the revised source code eventually meets the revision requirements. However, manual code review is time-consuming, and automating such the code review process will alleviate the burden of code reviewers and speed up the software maintenance process. To construct the model for automatic code review, the characteristics of the revisions of source code (i.e., the difference between the two pieces of source code) should be properly captured and modeled. Unfortunately, most of the existing techniques can easily model the overall …


Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo Jan 2019

Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Computing and Information Systems

Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …


Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo Jan 2019

Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Computing and Information Systems

Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …


Deep Code Comment Generation With Hybrid Lexical And Syntactical Information, Xing Hu, Ge Li, Xin Xia, David Lo, Zhi Jin Jan 2019

Deep Code Comment Generation With Hybrid Lexical And Syntactical Information, Xing Hu, Ge Li, Xin Xia, David Lo, Zhi Jin

Research Collection School Of Computing and Information Systems

During software maintenance, developers spend a lot of time understanding the source code. Existing studies show that code comments help developers comprehend programs and reduce additional time spent on reading and navigating source code. Unfortunately, these comments are often mismatched, missing or outdated in software projects. Developers have to infer the functionality from the source code. This paper proposes a new approach named Hybrid-DeepCom to automatically generate code comments for the functional units of Java language, namely, Java methods. The generated comments aim to help developers understand the functionality of Java methods. Hybrid-DeepCom applies Natural Language Processing (NLP) techniques to …


Feature-Based Transfer Learning In Natural Language Processing, Jianfei Yu Dec 2018

Feature-Based Transfer Learning In Natural Language Processing, Jianfei Yu

Dissertations and Theses Collection (Open Access)

In the past few decades, supervised machine learning approach is one of the most important methodologies in the Natural Language Processing (NLP) community. Although various kinds of supervised learning methods have been proposed to obtain the state-of-the-art performance across most NLP tasks, the bottleneck of them lies in the heavy reliance on the large amount of manually annotated data, which is not always available in our desired target domain/task. To alleviate the data sparsity issue in the target domain/task, an attractive solution is to find sufficient labeled data from a related source domain/task. However, for most NLP applications, due to …


Effectiveness Of Physical Robot Versus Robot Simulator In Teaching Introductory Programming, Oka Kurniawan, Norman Tiong Seng Lee, Subhajit Datta, Nachamma Sockalingam, Pey Lin Leong Dec 2018

Effectiveness Of Physical Robot Versus Robot Simulator In Teaching Introductory Programming, Oka Kurniawan, Norman Tiong Seng Lee, Subhajit Datta, Nachamma Sockalingam, Pey Lin Leong

Research Collection School Of Computing and Information Systems

This study reports the use of a physical robot and robot simulator in an introductory programming course in a university and measures students' programming background conceptual learning gain and learning experience. One group used physical robots in their lessons to complete programming assignments, while the other group used robot simulators. We are interested in finding out if there is any difference in the learning gain and experiences between those that use physical robots as compared to robot simulators. Our results suggest that there is no significant difference in terms of students' learning between the two approaches. However, the control group …


An Architectural Design And Evaluation Of An Affective Tutoring System For Novice Programmers, Hua Leong Fwa Dec 2018

An Architectural Design And Evaluation Of An Affective Tutoring System For Novice Programmers, Hua Leong Fwa

Research Collection School Of Computing and Information Systems

Affect is prevalent in learning and it influences students’ learning achievement. This paper details the design and evaluation of an Affective Tutoring System (ATS) that tutors student in computer programming. Although most ATSs are purpose built for a specific domain, making adaptation to another domain difficult, this ATS is architected for adaptability and extensibility. This study also addresses a lack of research exploring the theories and methods of integrating affect and learning within the learning process by proposing methods of regulating the negative affect of students. Both quantitative and qualitative techniques were used for evaluation of the effectiveness of the …


Perflearner: Learning From Bug Reports To Understand And Generate Performance Test Frames, Xue Han, Tingting Yu, David Lo Dec 2018

Perflearner: Learning From Bug Reports To Understand And Generate Performance Test Frames, Xue Han, Tingting Yu, David Lo

Research Collection School Of Computing and Information Systems

Software performance is important for ensuring the quality of software products. Performance bugs, defined as programming errors that cause significant performance degradation, can lead to slow systems and poor user experience. While there has been some research on automated performance testing such as test case generation, the main idea is to select workload values to increase the program execution times. These techniques often assume the initial test cases have the right combination of input parameters and focus on evolving values of certain input parameters. However, such an assumption may not hold for highly configurable real-word applications, in which the combinations …


Vt-Revolution: Interactive Programming Tutorials Made Possible, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo, Shanping Li Nov 2018

Vt-Revolution: Interactive Programming Tutorials Made Possible, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo, Shanping Li

Research Collection School Of Computing and Information Systems

Programming video tutorials showcase programming tasks and associated workflows. Although video tutorials are easy to create, it isoften difficult to explore the captured workflows and interact withthe programs in the videos. In this work, we propose a tool named VTRevolution – an interactive programming video tutorial authoring system. VTRevolution has two components: 1) a tutorial authoring system leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming video tutorials; 2) a tutorial watching system enhances the learning experience of video tutorials by providing operation history and timeline-based browsing interactions. Our tutorial authoring system does not …


Infar: Insight Extraction From App Reviews, Cuiyun Gao, Jichuan Zeng, David Lo, Chin-Yew Lin, Michael R. Lyu, Irwin King Nov 2018

Infar: Insight Extraction From App Reviews, Cuiyun Gao, Jichuan Zeng, David Lo, Chin-Yew Lin, Michael R. Lyu, Irwin King

Research Collection School Of Computing and Information Systems

App reviews play an essential role for users to convey their feedback about using the app. The critical information contained in app reviews can assist app developers for maintaining and updating mobile apps. However, the noisy nature and large-quantity of daily generated app reviews make it difficult to understand essential information carried in app reviews. Several prior studies have proposed methods that can automatically classify or cluster user reviews into a few app topics (e.g., security). These methods usually act on a static collection of user reviews. However, due to the dynamic nature of user feedback (i.e., reviews keep coming …


Dsm: A Specification Mining Tool Using Recurrent Neural Network Based Language Model, Tien-Duy B. Le, Lingfeng Bao, David Lo Nov 2018

Dsm: A Specification Mining Tool Using Recurrent Neural Network Based Language Model, Tien-Duy B. Le, Lingfeng Bao, David Lo

Research Collection School Of Computing and Information Systems

Formal specifications are important but often unavailable. Furthermore, writing these specifications is time-consuming and requires skills from developers. In this work, we present Deep Specification Miner (DSM), an automated tool that applies deep learning to mine finite-state automaton (FSA) based specifications. DSM accepts as input a set of execution traces to train a Recurrent Neural Network Language Model (RNNLM). From the input traces, DSM creates a Prefix Tree Acceptor (PTA) and leverages the inferred RNNLM to extract many features. These features are then forwarded to clustering algorithms for merging similar automata states in the PTA for assembling a number of …


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

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 …


Efficient Attribute-Based Encryption With Blackbox Traceability, Shengmin Xu, Guomin Yang, Yi Mu, Ximeng Liu Oct 2018

Efficient Attribute-Based Encryption With Blackbox Traceability, Shengmin Xu, Guomin Yang, Yi Mu, Ximeng Liu

Research Collection School Of Computing and Information Systems

Traitor tracing scheme can be used to identify a decryption key is illegally used in public-key encryption. In CCS’13, Liu et al. proposed an attribute-based traitor tracing (ABTT) scheme with blackbox traceability which can trace decryption keys embedded in a decryption blackbox/device rather than tracing a well-formed decryption key. However, the existing ABTT schemes with blackbox traceability are based on composite order group and the size of the decryption key depends on the policies and the number of system users. In this paper, we revisit blackbox ABTT and introduce a new primitive called attribute-based set encryption (ABSE) based on key-policy …


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

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 …


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 …


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 Sep 2018

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 …


Teaching Basic Programming To Pre-University Students Through Blended Learning Pedagogy: A Descriptive Study, Vandana Ramachandra Rao, Ngee Mok Heng Sep 2018

Teaching Basic Programming To Pre-University Students Through Blended Learning Pedagogy: A Descriptive Study, Vandana Ramachandra Rao, Ngee Mok Heng

Research Collection School Of Computing and Information Systems

Students enrolling for undergraduate programmes in Singapore would have either finished their polytechnic diploma or completed Junior College (JC) studies. Most pre-university students coming through the JC pathway are not exposed to programming as computing is offered as a subject in a very few JCs. The authors of this paper conducted four runs of an introductory programing course between 2016 and 2017 for a research project funded by the Ministry of Education, Singapore. The project named “Let’s Code!” was intended to introduce fundamental programming concepts to students and guide them to consider taking a computer-science related degree for their university …


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

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 …


Densely Connected Bidirectional Lstm With Applications To Sentence Classification, Zixiang Ding, Rui Xia, Jianfei Yu, Xiang Li, Jian Yang Aug 2018

Densely Connected Bidirectional Lstm With Applications To Sentence Classification, Zixiang Ding, Rui Xia, Jianfei Yu, Xiang Li, Jian Yang

Student Publications

Deep neural networks have recently been shown to achieve highly competitive performance in many computer vision tasks due to their abilities of exploring in a much larger hypothesis space. However, since most deep architectures like stacked RNNs tend to suffer from the vanishing-gradient and overfitting problems, their effects are still understudied in many NLP tasks. Inspired by this, we propose a novel multi-layer RNN model called densely connected bidirectional long short-term memory (DCBi-LSTM) in this paper, which essentially represents each layer by the concatenation of its hidden state and all preceding layers’ hidden states, followed by recursively passing each layer’s …


Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe Jul 2018

Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe

Research Collection School Of Computing and Information Systems

The Stackelberg Security Game (SSG) model has been immensely influential in security research since it was introduced roughly a decade ago. Furthermore, deployed SSG-based applications are one of most successful examples of game theory applications in the real world. We present a broad survey of recent technical advances in SSG and related literature, and then look to the future by highlighting the new potential applications and open research problems in SSG.


Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa Jun 2018

Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa

Research Collection School Of Computing and Information Systems

Android native applications, written in Java and distributed in APK format, are widely used in mobile devices. Their specific pattern of use lets the operating system control the creation and destruction of key resources, such as activities and services (contexts). Programmers are not supposed to interfere with such lifecycle events. Otherwise contexts might be leaked, i.e. they will never be deallocated from memory, or be deallocated too late, leading to memory exhaustion and frozen applications. In practice, it is easy to write incorrect code, which hinders garbage collection of contexts and subsequently leads to context leakage.In this work, we present …