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

Software Engineering Commons™

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

4,404 Full-Text Articles 6,714 Authors 2,121,733 Downloads 182 Institutions

All Articles in Software Engineering

Faceted Search

4,404 full-text articles. Page 94 of 179.

Biker: A Tool For Bi-Information Source Based Api Method Recommendation, Liang CAI, Haoye WANG, Qiao HUANG, Xin XIA, Zhenchang XING, David LO 2019 Singapore Management University

Biker: A Tool For Bi-Information Source Based Api Method Recommendation, Liang Cai, Haoye Wang, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo

Research Collection School Of Computing and Information Systems

No abstract provided.


Answerbot: An Answer Summary Generation Tool Based On Stack Overflow, Liang CAI, Haoye WANG, Bowen XU, Qiao HUANG, Xin XIA, David LO, Zhenchang XING 2019 Zhejiang University

Answerbot: An Answer Summary Generation Tool Based On Stack Overflow, Liang Cai, Haoye Wang, Bowen Xu, Qiao Huang, Xin Xia, David Lo, Zhenchang Xing

Research Collection School Of Computing and Information Systems

The prevalence of questions and answers on domainspecific Q&A sites like Stack Overflow constitutes a core knowledge asset for software engineering domain. Although search engines can return a list of questions relevant to a user query of some technical question, the abundance of relevant posts and the sheer amount of information in them makes it difficult for developers to digest them and find the most needed answers to their questions. In this work, we aim to help developers who want to quickly capture the key points of several answer posts relevant to a technical question before they read the details …


Sar: Learning Cross-Language Api Mappings With Little Knowledge, Duy Quoc Nghi BUI, Yijun YU, Lingxiao JIANG 2019 Singapore Management University

Sar: Learning Cross-Language Api Mappings With Little Knowledge, Duy Quoc Nghi Bui, Yijun Yu, Lingxiao Jiang

Research Collection School Of Computing and Information Systems

To save effort, developers often translate programs from one programming language to another, instead of implementing it from scratch. Translating application program interfaces (APIs) used in one language to functionally equivalent ones available in another language is an important aspect of program translation. Existing approaches facilitate the translation by automatically identifying the API mappings across programming languages. However, these approaches still require large amount of parallel corpora, ranging from pairs of APIs or code fragments that are functionally equivalent, to similar code comments. To minimize the need of parallel corpora, this paper aims at an automated approach that can map …


Synthetic, Yet Natural: Properties Of Wordnet Random Walk Corpora And The Impact Of Rare Words On Embedding Performance, Filip Klubicka, Alfredo Maldonado, Abhijit Mahalunkar, John D. Kelleher 2019 Technological University Dublin

Synthetic, Yet Natural: Properties Of Wordnet Random Walk Corpora And The Impact Of Rare Words On Embedding Performance, Filip Klubicka, Alfredo Maldonado, Abhijit Mahalunkar, John D. Kelleher

Conference papers

Creating word embeddings that reflect semantic relationships encoded in lexical knowledge resources is an open challenge. One approach is to use a random walk over a knowledge graph to generate a pseudo-corpus and use this corpus to train embeddings. However, the effect of the shape of the knowledge graph on the generated pseudo-corpora, and on the resulting word embeddings, has not been studied. To explore this, we use English WordNet, constrained to the taxonomic (tree-like) portion of the graph, as a case study. We investigate the properties of the generated pseudo-corpora, and their impact on the resulting embeddings. We find …


Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed 2019 CUNY Hunter College

Safe Automated Refactoring For Intelligent Parallelization Of Java 8 Streams, Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, Syed Ahmed

Publications and Research

Streaming APIs are becoming more pervasive in mainstream Object-Oriented programming languages and platforms. For example, the Stream API introduced in Java 8 allows for functional-like, MapReduce-style operations in processing both finite, e.g., collections, and infinite data structures. However, using this API efficiently involves subtle considerations such as 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. Also, streams may not run all operations in parallel depending on particular collectors used in reductions. In …


Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal 2019 Loyola University Chicago

Tests As Maintainable Assets Via Auto-Generated Spies: A Case Study Involving The Scala Collections Library's Iterator Trait, Konstantin Läufer, John O'Sullivan, George K. Thiruvathukal

Computer Science: Faculty Publications and Other Works

In testing stateful abstractions, it is often necessary to record interactions, such as method invocations, and express assertions over these interactions. Following the Test Spy design pattern, we can reify such interactions programmatically through additional mutable state. Alternatively, a mocking framework, such as Mockito, can automatically generate test spies that allow us to record the interactions and express our expectations in a declarative domain-specific language. According to our study of the test code for Scala’s Iterator trait, the latter approach can lead to a significant reduction of test code complexity in terms of metrics such as code size (in some …


Practical And Effective Sandboxing For Linux Containers, Zhiyuan WAN, David LO, Xin XIA, Liang CAI 2019 Singapore Management University

Practical And Effective Sandboxing For Linux Containers, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai

Research Collection School Of Computing and Information Systems

A container is a group of processes isolated from other groups via distinct kernel namespaces and resource allocation quota. Attacks against containers often leverage kernel exploits through the system call interface. In this paper, we present an approach that mines sandboxes and enables fine-grained sandbox enforcement for containers. We first explore the behavior of a container by running test cases and monitor the accessed system calls including types and arguments during testing. We then characterize the types and arguments of system call invocations and translate them into sandbox rules for the container. The mined sandbox restricts the container’s access to …


Network-Clustered Multi-Modal Bug Localization, Thong HOANG, Richard J. OENTARYO, Tien-Duy B. LE, David LO 2019 Singapore Management University

Network-Clustered Multi-Modal Bug Localization, Thong Hoang, Richard J. Oentaryo, Tien-Duy B. Le, David Lo

Research Collection School Of Computing and Information Systems

Developers often spend much effort and resources to debug a program. To help the developers debug, numerous information retrieval (IR)-based and spectrum-based bug localization techniques have been devised. IR-based techniques process textual information in bug reports, while spectrum-based techniques process program spectra (i.e., a record of which program elements are executed for each test case). While both techniques ultimately generate a ranked list of program elements that likely contain a bug, they only consider one source of information—either bug reports or program spectra— which is not optimal. In light of this deficiency, this paper presents a new approach dubbed Network-clustered …


Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall 2019 Fordham University

Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall

Faculty Publications

Large software systems often comprise programs written in different programming languages. In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software engineering tools, such as call-graph analysis, are obstructed by the opacity of the FFI. This complicates debugging and fosters potential inefficiency and security problems. One contributing issue is that there is little rigorous software design advice for multilingual software. In this paper, we present our progress towards a more rigorous design approach to multilingual software. The approach is based on the existing …


An Empirical Study Of User Support Tools In Open Source Software, Arif Raza, Luiz Fernando Capretz, Shuib Basri 2019 Confederation College of Applied Arts and Technology

An Empirical Study Of User Support Tools In Open Source Software, Arif Raza, Luiz Fernando Capretz, Shuib Basri

Electrical and Computer Engineering Publications

End users’ positive response is essential for the success of any software. This is true for both commercial and Open Source Software (OSS). OSS is popular not only because of its availability, which is usually free but due to the user support it provides, generally through public platforms. The study model of this research establishes a relationship between OSS user support and available support tools. To conduct this research, we used a dataset of 100 OSS projects in different categories and examined five user support tools provided by different OSS projects. The results show that project trackers, user mailing lists, …


Resource Constrained Deep Reinforcement Learning, Abhinav BHATIA, Pradeep VARAKANTHAM, Akshat KUMAR 2019 Singapore Management University

Resource Constrained Deep Reinforcement Learning, Abhinav Bhatia, Pradeep Varakantham, Akshat Kumar

Research Collection School Of Computing and Information Systems

In urban environments, resources have to be constantly matched to the “right” locations where customer demand is present. For instance, ambulances have to be matched to base stations regularly so as to reduce response time for emergency incidents in ERS (Emergency Response Systems); vehicles (cars, bikes among others) have to be matched to docking stations to reduce lost demand in shared mobility systems. Such problems are challenging owing to the demand uncertainty, combinatorial action spaces and constraints on allocation of resources (e.g., total resources, minimum and maximum number of resources at locations and regions). Existing systems typically employ myopic and …


The Impact Of Changes Mislabeled By Szz On Just-In-Time Defect Prediction, Yuanrui FAN, Xin XIA, Daniel A. COSTA, David LO, Ahmed E. HASSAN, Shanping LI 2019 Singapore Management University

The Impact Of Changes Mislabeled By Szz On Just-In-Time Defect Prediction, Yuanrui Fan, Xin Xia, Daniel A. Costa, David Lo, Ahmed E. Hassan, Shanping Li

Research Collection School Of Computing and Information Systems

Just-in-Time (JIT) defect prediction—a technique which aims to predict bugs at change level—has been paid more attention. JIT defect prediction leverages the SZZ approach to identify bug-introducing changes. Recently, researchers found that the performance of SZZ (including its variants) is impacted by a large amount of noise. SZZ may considerably mislabel changes that are used to train a JIT defect prediction model, and thus impact the prediction accuracy. In this paper, we investigate the impact of the mislabeled changes by different SZZ variants on the performance and interpretation of JIT defect prediction models. We analyze four SZZ variants (i.e., B-SZZ, …


Sensitive Behavior Analysis Of Android Applications On Unrooted Devices In The Wild, Xiaoxiao TANG 2019 Singapore Management University

Sensitive Behavior Analysis Of Android Applications On Unrooted Devices In The Wild, Xiaoxiao Tang

Dissertations and Theses Collection (Open Access)

Dynamic analysis is widely used in malware detection, taint analysis, vulnerability detection, and other areas for enhancing the security of Android. Compared to static analysis, dynamic analysis is immune to common code obfuscation techniques and dynamic code loading. Existing dynamic analysis techniques rely on in-lab running environment (e.g., modified systems, rooted devices, or emulators) and require automatic input generators to execute the target app. However, these techniques could be bypassed by anti-analysis techniques that allow apps to hide sensitive behavior when an in-lab environment is detected through predefined heuristics (e.g., IMEI number of the device is invalid). Meanwhile, current input …


Making Sense Of Crowd-Generated Content In Domain-Specific Settings, Agus SULISTYA 2019 Singapore Management University

Making Sense Of Crowd-Generated Content In Domain-Specific Settings, Agus Sulistya

Dissertations and Theses Collection (Open Access)

The rapid advances of the Web have changed the ways information is distributed and exchanged among individuals and organizations. Various content from different domains are generated daily and contributed by users' daily activities, such as posting messages in a microblog platform, or collaborating in a question and answer site. To deal with such tremendous volume of user generated content, there is a need for approaches that are able to handle the mass amount of available data and to extract knowledge hidden in the user generated content. This dissertation attempts to make sense of the generated content to help in three …


Stressmon: Large Scale Detection Of Stress And Depression In Campus Environment Using Passive Coarse-Grained Location Data, Camellia ZAKARIA 2019 Singapore Management University

Stressmon: Large Scale Detection Of Stress And Depression In Campus Environment Using Passive Coarse-Grained Location Data, Camellia Zakaria

Dissertations and Theses Collection (Open Access)

The rising mental health illnesses of severe stress and depression is of increasing concern worldwide. Often associated by similarities in symptoms, severe stress can take a toll on a person’s productivity and result in depression if the stress is left unmanaged. Unfortunately, depression can occur without any feelings of stress. With depression growing as a leading cause of disability in economic productivity, there has been a sharp rise in mental health initiatives to improve stress and depression management. To offer such services conveniently and discreetly, recent efforts have focused on using mobile technologies. However, these initiatives usually require users to …


Applying Case-Based Learning For A Postgraduate Software Architecture Course, Eng Lieh OUH, Yunghans IRAWAN 2019 Singapore Management University

Applying Case-Based Learning For A Postgraduate Software Architecture Course, Eng Lieh Ouh, Yunghans Irawan

Research Collection School Of Computing and Information Systems

Software architecture remains a difficult subject for learners to grasp and for educators to teach given its level of abstraction. On the other hand, case-based learning (CBL) is a popular teaching approach used across disciplines especially in business, medicine and law where students work in groups apply their knowledge to solve real-world case studies, or scenarios using their reasoning skills and existing theoretical knowledge. In this paper, we provide how we apply case-based learning to address the challenge in teaching a postgraduate software architecture course. Our learners are postgraduate students taking a master’s program in software engineering. We first describe …


Eugene: Towards Deep Intelligence As A Service, Shuochao YAO, Yifan HAO, Yiran ZHAO, Ailing PIAO, Huajie SHAO, Dongxin LIU, Shengzhong LIU, Shaohan HU, Dulanga WEERAKOON, Kasthuri JAYARAJAH, Archan MISRA, Tarek ABDELZAHER 2019 University of Illinois at Urbana-Champaign

Eugene: Towards Deep Intelligence As A Service, Shuochao Yao, Yifan Hao, Yiran Zhao, Ailing Piao, Huajie Shao, Dongxin Liu, Shengzhong Liu, Shaohan Hu, Dulanga Weerakoon, Kasthuri Jayarajah, Archan Misra, Tarek Abdelzaher

Research Collection School Of Computing and Information Systems

The paper discusses an emerging suite of machine intelligence services that are of increasing importance in the highly instrumented world of the Internet of Things (IoT). The suite, called Eugene, would offer a form of intelligent behavior (based on deep neural networks) to otherwise simple embedded devices; the clients of the service. These devices would benefit from service resources to learn from data and to perform intelligent inference, classification, prediction, and estimation tasks that they are too limited to carry out on their own. The paper discusses the taxonomy of such services and the state of implementation, as well as …


Towards Understanding Android System Vulnerabilities: Techniques And Insights, Daoyuan WU, Debin GAO, Eric K. T. CHENG, Yichen CAO, Jintao JIANG, Robert H. DENG 2019 Singapore Management University

Towards Understanding Android System Vulnerabilities: Techniques And Insights, Daoyuan Wu, Debin Gao, Eric K. T. Cheng, Yichen Cao, Jintao Jiang, Robert H. Deng

Research Collection School Of Computing and Information Systems

As a common platform for pervasive devices, Android has been targeted by numerous attacks that exploit vulnerabilities in its apps and the operating system. Compared to app vulnerabilities, systemlevel vulnerabilities in Android, however, were much less explored in the literature. In this paper, we perform the first systematic study of Android system vulnerabilities by comprehensively analyzing all 2,179 vulnerabilities on the Android Security Bulletin program over about three years since its initiation in August 2015. To this end, we propose an automatic analysis framework, upon a hierarchical database structure, to crawl, parse, clean, and analyze vulnerability reports and their publicly …


Deephunter: A Coverage-Guided Fuzz Testing Framework For Deep Neural Networks, Xiaofei XIE, Lei MA, Felix JUEFEI-XU, Minhui XUE, Hongxu CHEN, Yang LIU, Jianjun ZHAO, Bo LI, Jianxiong YIN, Simon SEE 2019 Singapore Management University

Deephunter: A Coverage-Guided Fuzz Testing Framework For Deep Neural Networks, Xiaofei Xie, Lei Ma, Felix Juefei-Xu, Minhui Xue, Hongxu Chen, Yang Liu, Jianjun Zhao, Bo Li, Jianxiong Yin, Simon See

Research Collection School Of Computing and Information Systems

The past decade has seen the great potential of applying deep neural network (DNN) based software to safety-critical scenarios, such as autonomous driving. Similar to traditional software, DNNs could exhibit incorrect behaviors, caused by hidden defects, leading to severe accidents and losses. In this paper, we propose DeepHunter, a coverage-guided fuzz testing framework for detecting potential defects of general-purpose DNNs. To this end, we first propose a metamorphic mutation strategy to generate new semantically preserved tests, and leverage multiple extensible coverage criteria as feedback to guide the test generation. We further propose a seed selection strategy that combines both diversity-based …


Semantic Patches For Java Program Transformation, Hong Jin KANG, Ferdian THUNG, Julia LAWALL, Gilles MULLER, Lingxiao JIANG, David LO 2019 Singapore Management University

Semantic Patches For Java Program Transformation, Hong Jin Kang, Ferdian Thung, Julia Lawall, Gilles Muller, Lingxiao Jiang, David Lo

Research Collection School Of Computing and Information Systems

Developing software often requires code changes that are widespread and applied to multiple locations.There are tools for Java that allow developers to specify patterns for program matching and source-to-source transformation. However, to our knowledge, none allows for transforming code based on its control-flow context. We prototype Coccinelle4J, an extension to Coccinelle, which is a program transformation tool designed for widespread changes in C code, in order to work on Java source code. We adapt Coccinelle to be able to apply scripts written in the Semantic Patch Language (SmPL), a language provided by Coccinelle, to Java source files. As a case …


Digital Commons powered by bepress