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

Physical Sciences and Mathematics Commons

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

Articles 1 - 23 of 23

Full-Text Articles in Physical Sciences and Mathematics

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 …


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 …


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 …


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 …


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 …


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 …


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 …


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 …


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 …


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 …


Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun Apr 2018

Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun

Research Collection School Of Computing and Information Systems

To help developers better allocate testing and debugging efforts, many software defect prediction techniques have been proposed in the literature. These techniques can be used to predict classes that are more likely to be buggy based on past history of buggy classes. These techniques work well as long as a sufficient amount of data is available to train a prediction model. However, there is rarely enough training data for new software projects. To deal with this problem, cross-project defect prediction, which transfers a prediction model trained using data from one project to another, has been proposed and is regarded as …


Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao Apr 2018

Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao

Research Collection School Of Computing and Information Systems

“Let’s Code!” is an intensive 3-week basic programming course that aims to formally expose pre-university students in Singapore to programming. This course was conducted in blended-learning format, and included lecture videos, self-check quizzes, video conferences, meet-up tutorials and take-home programming assignments. The authors hope to capture the experience gained from running this course for educators who intend to implement similar courses in the future. Besides a detailed description of this course, significant changes that were made based on feedback from participants and members of the teaching team are documented here.


A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin Apr 2018

A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin

Research Collection School Of Computing and Information Systems

CSP# (communicating sequential programs) is a modelling language designed for specifying concurrent systems by integrating CSP-like compositional operators with sequential programs updating shared variables. In this work, we define an observation-oriented denotational semantics in an open environment for the CSP# language based on the UTP framework. To deal with shared variables, we lift traditional event-based traces into mixed traces which consist of state-event pairs for recording process behaviours. To capture all possible concurrency behaviours between action/channel-based communications and global shared variables, we construct a comprehensive set of rules on merging traces from processes which run in parallel/interleaving. We also define …


Scaling Human Activity Recognition Via Deep Learning-Based Domain Adaptation, Md Abdullah Hafiz Khan, Nirmalya Roy, Archan Misra Mar 2018

Scaling Human Activity Recognition Via Deep Learning-Based Domain Adaptation, Md Abdullah Hafiz Khan, Nirmalya Roy, Archan Misra

Research Collection School Of Computing and Information Systems

We investigate the problem of making human activityrecognition (AR) scalable–i.e., allowing AR classifiers trainedin one context to be readily adapted to a different contextualdomain. This is important because AR technologies can achievehigh accuracy if the classifiers are trained for a specific individualor device, but show significant degradation when the sameclassifier is applied context–e.g., to a different device located ata different on-body position. To allow such adaptation withoutrequiring the onerous step of collecting large volumes of labeledtraining data in the target domain, we proposed a transductivetransfer learning model that is specifically tuned to the propertiesof convolutional neural networks (CNNs). Our model, …


Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo Feb 2018

Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Procedural knowledge describes actions and manipulations that are carried out to complete programming tasks. An effective way to document procedural knowledge is programming video tutorials. Existing solutions to adding interactive workflow and elements to programming videos have a dilemma between the level of desired interaction and the efforts required for authoring tutorials. In this work, we tackle this dilemma by designing and building a programming video tutorial authoring system that leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming videos, and the corresponding tutorial watching system that enhances the learning experience of video tutorials …


Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou Jan 2018

Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou

Research Collection School Of Computing and Information Systems

Crowdsourcing has been shown to be effective in a wide range of applications, and is seeing increasing use. A large-scale crowdsourcing task often consists of thousands or millions of atomic tasks, each of which is usually a simple task such as binary choice or simple voting. To distribute a large-scale crowdsourcing task to limited crowd workers, a common practice is to pack a set of atomic tasks into a task bin and send to a crowd worker in a batch. It is challenging to decompose a large-scale crowdsourcing task and execute batches of atomic tasks, which ensures reliable answers at …


Modeling Engagement Of Programming Students Using Unsupervised Machine Learning Technique, Hua Leong Fwa, Lindsay Marshall Jan 2018

Modeling Engagement Of Programming Students Using Unsupervised Machine Learning Technique, Hua Leong Fwa, Lindsay Marshall

Research Collection School Of Computing and Information Systems

Engagement is instrumental to students’ learning and academic achievements. In this study, we model the engagement states of students who are working on programming exercises in an intelligent tutoring system. Head pose, keystrokes and action logs of students automatically captured within the tutoring system are fed into a Hidden Markov Model for inferring the engagement states of students. With the modeling of students’ engagement on a moment by moment basis, intervention measures can be initiated automatically by the system when necessary to optimize the students’ learning. This study is also one of the few studies that bypass the need for …


Integrated Reward Scheme And Surge Pricing In A Ride Sourcing Market, Hai Yang, Chaoyi Shao, Hai Wang, Jieping Ye Jan 2018

Integrated Reward Scheme And Surge Pricing In A Ride Sourcing Market, Hai Yang, Chaoyi Shao, Hai Wang, Jieping Ye

Research Collection School Of Computing and Information Systems

Surge pricing is commonly used in on-demand ride-sourcing platforms (e.g., Uber, Lyft and Didi) to dynamically balance demand and supply. However, since the price for ride service cannot be unlimited, there is usually a reasonable or legitimate range of prices in practice. Such a constrained surge pricing strategy fails to balance demand and supply in certain cases, e.g., even adopting the maximum allowed price cannot reduce the demand to an affordable level during peak hours. In addition, the practice of surge pricing is controversial and has stimulated long debate regarding its pros and cons. In this paper, to address the …