Enhancing The Performance Of Ir-Based Traceability Recovery Of Requirement Artifacts Using Noun Phrases,
2020
Universiti Malaya
Enhancing The Performance Of Ir-Based Traceability Recovery Of Requirement Artifacts Using Noun Phrases, Dafaalla Abdelrahman Mashahi Khalafalla
Student Works (2020-2029)
Requirement traceability can be considered as a measure of software quality to help achieve validation, verification, and reusability. Neglecting traceability leads to less maintainable software. Creating traceability links after-the-fact, known as traceability recovery, is a tedious and time-consuming process when it is done manually. Therefore, information retrieval (IR) methods have been used to automatically identify traceability links between the artifacts. However, as a result of limitations of the software engineer and the IR techniques, the performance of the IR methods is negatively affected. There is no IR method that is able to recover traceability links between artifacts with high precision …
A Process Model For Designing Performance Dashboard Using Visualization Techniques,
2020
Universiti Malaya
A Process Model For Designing Performance Dashboard Using Visualization Techniques, Bahar Muhammad Nasim
Student Works (2020-2029)
Data visualization is the presentation of data in a pictorial or graphical format. It enables decision-makers to see data analysis presented visually, so they can observe difficult concepts or identify new patterns. With interactive visualization, we can take the concept a step further by using technology to drill down into charts and graphs for more detail, interactively changing what data see and how it is processed. With the help of data visualization, it is expected to promote creative data exploration. A performance dashboard is one of the most common use cases for data visualization, and it enables decision-makers such as …
How Are Deep Learning Models Similar? An Empirical Study On Clone Analysis Of Deep Learning Software,
2020
Singapore Management University
How Are Deep Learning Models Similar? An Empirical Study On Clone Analysis Of Deep Learning Software, Xiongfei Wu, Liangyu Qin, Bing Yu, Xiaofei Xie, Lei Ma, Yinxing Xue, Yang Liu, Jianjun Zhao
Research Collection School Of Computing and Information Systems
Deep learning (DL) has been successfully applied to many cutting-edge applications, e.g., image processing, speech recognition, and natural language processing. As more and more DL software is made open-sourced, publicly available, and organized in model repositories and stores (Model Zoo, ModelDepot), there comes a need to understand the relationships of these DL models regarding their maintenance and evolution tasks. Although clone analysis has been extensively studied for traditional software, up to the present, clone analysis has not been investigated for DL software. Since DL software adopts the data-driven development paradigm, it is still not clear whether and to what extent …
Optimising The Fit Of Stack Overflow Code Snippets Into Existing Code,
2020
Singapore Management University
Optimising The Fit Of Stack Overflow Code Snippets Into Existing Code, Brittany Reid, Christoph Treude, Markus Wagner
Research Collection School Of Computing and Information Systems
Software developers often reuse code from online sources such as Stack Overflow within their projects. However, the process of searching for code snippets and integrating them within existing source code can be tedious. In order to improve efficiency and reduce time spent on code reuse, we present an automated code reuse tool for the Eclipse IDE (Integrated Developer Environment), NLP2TestableCode. NLP2TestableCode can not only search for Java code snippets using natural language tasks, but also evaluate code snippets based on a user’s existing code, modify snippets to improve fit and correct errors, before presenting the user with the best snippet, …
Spinfer: Inferring Semantic Patches For The Linux Kernel,
2020
Sorbonne University
Spinfer: Inferring Semantic Patches For The Linux Kernel, Lucas Serrano, Van-Anh Nguyen, Ferdian Thung, Lingxiao Jiang, David Lo, Julia Lawall, Gilles Muller
Research Collection School Of Computing and Information Systems
In a large software system such as the Linux kernel, there is a continual need for large-scale changes across many source files, triggered by new needs or refined design decisions. In this paper, we propose to ease such changes by suggesting transformation rules to developers, inferred automatically from a collection of examples. Our approach can help automate large-scale changes as well as help understand existing large-scale changes, by highlighting the various cases that the developer who performed the changes has taken into account. We have implemented our approach as a tool, Spinfer. We evaluate Spinfer on a range of challenging …
Automatic Android Deprecated-Api Usage Update By Learning From Single Updated Example,
2020
Singapore Management University
Automatic Android Deprecated-Api Usage Update By Learning From Single Updated Example, Stefanus A. Haryono, Ferdian Thung, Hong Jin Kang, Lucas Serrano, Gilles Muller, Julia Lawall, David Lo, Lingxiao Jiang
Research Collection School Of Computing and Information Systems
Due to the deprecation of APIs in the Android operating system, developers have to update usages of the APIs to ensure that their applications work for both the past and current versions of Android. Such updates may be widespread, non-trivial, and time-consuming. Therefore, automation of such updates will be of great benefit to developers. AppEvolve, which is the state-of-the-art tool for automating such updates, relies on having before- and after-update examples to learn from. In this work, we propose an approach named CocciEvolve that performs such updates using only a single after-update example. CocciEvolve learns edits by extracting the relevant …
Psc2code: Denoising Code Extraction From Programming Screencasts,
2020
Zhejiang University
Psc2code: Denoising Code Extraction From Programming Screencasts, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo, Minghui Wu, Xiaohu Yang
Research Collection School Of Computing and Information Systems
Programming screencasts have become a pervasive resource on the Internet, which help developers learn new programming technologies or skills. The source code in programming screencasts is an important and valuable information for developers. But the streaming nature of programming screencasts (i.e., a sequence of screen-captured images) limits the ways that developers can interact with the source code in the screencasts. Many studies use the Optical Character Recognition (OCR) technique to convert screen images (also referred to as video frames) into textual content, which can then be indexed and searched easily. However, noisy screen images significantly affect the quality of source …
Mining And Predicting Micro-Process Patterns Of Issue Resolution For Open Source Software Projects,
2020
Shanghai Jiaotong University
Mining And Predicting Micro-Process Patterns Of Issue Resolution For Open Source Software Projects, Yiran Wang, Jian Cao, David Lo
Research Collection School Of Computing and Information Systems
Addressing issue reports is an integral part of open source software (OSS) projects. Although several studies have attempted to discover the factors that affect issue resolution, few pay attention to the underlying micro-process patterns of resolution processes. Discovering these micro-patterns will help us understand the dynamics of issue resolution processes so that we can manage and improve them in better ways. Of the various types of issues, those relating to corrective maintenance account for nearly half hence resolving these issues efficiently is critical for the success of OSS projects. Therefore, we apply process mining techniques to discover the micro-patterns of …
Sentiment Analysis Over Collaborative Relationships In Open Source Software Projects,
2020
Shanghai Jiaotong University
Sentiment Analysis Over Collaborative Relationships In Open Source Software Projects, Lingjia Li, Jian Cao, David Lo
Research Collection School Of Computing and Information Systems
Sentiments and collaboration efficiency are key factors in the success of the open source software (OSS) development process. However, in the software engineering domain, no studies have been conducted to analyze the effect between collaborators' sentiments, and the role of sentiment in collaborative relationships during the development process. In this study, we apply sentiment analysis and statistical analysis on collaboration artifacts over five projects on GitHub. We use sentiment consistency to quantify the relation between sentiments in collaborative relationships. It is found that sentiment consistency is positively correlated with the closeness of collaborative relationships and collaborators' overall sentiment states. We …
Objsim: Efficient Testing Of Cyber-Physical Systems,
2020
Singapore Management University
Objsim: Efficient Testing Of Cyber-Physical Systems, Jun Sun, Zijiang Yang
Research Collection School Of Computing and Information Systems
Cyber-physical systems (CPSs) play a critical role in automating public infrastructure and thus attract wide range of attacks. Assessing the effectiveness of defense mechanisms is challenging as realistic sets of attacks to test them against are not always available. In this short paper, we briefly describe smart fuzzing, an automated, machine learning guided technique for systematically producing test suites of CPS network attacks. Our approach uses predictive ma- chine learning models and meta-heuristic search algorithms to guide the fuzzing of actuators so as to drive the CPS into different unsafe physical states. The approach has been proven effective on two …
Global Pac Bounds For Learning Discrete Time Markov Chains,
2020
Singapore Management University
Global Pac Bounds For Learning Discrete Time Markov Chains, Hugo Bazille, Blaise Genest, Cyrille Jegourel, Jun Sun
Research Collection School Of Computing and Information Systems
Learning models from observations of a system is a powerful tool with many applications. In this paper, we consider learning Discrete Time Markov Chains (DTMC), with different methods such as frequency estimation or Laplace smoothing. While models learnt with such methods converge asymptotically towards the exact system, a more practical question in the realm of trusted machine learning is how accurate a model learnt with a limited time budget is. Existing approaches provide bounds on how close the model is to the original system, in terms of bounds on local (transition) probabilities, which has unclear implication on the global behavior. …
Spring 2020,
2020
DePaul University
Spring 2020
In The Loop
Letter from the Dean: Advancing Past Adversity; Look Who's Talking: Expert Talk Series; Seen and Heard; Keeping It Real: Client Web Projects for Students; OMG, It's DIBS, LOL!; X-ray Vision: Brian Andrews bones up on anthropomorphic entities and virtual realty in an audacious Project Bluelight film; Nothing But Net: Shannon Linares scores a win for female and first-generation college students in network engineering and cybersecurity careers; Mix Master: Claire Rosas blends disciplines and social synergy in her designs, from egg-ceptional typography to adaptive ergs
Increasing The Trust In Refactoring Through Visualization,
2020
Rochester Institute of Technology
Increasing The Trust In Refactoring Through Visualization, Alex Bogart, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni
Articles
In software development, maintaining good design is essential. The process of refactoring enables developers to improve this design during development without altering the program’s existing behavior. However, this process can be time-consuming, introduce semantic errors, and be difficult for developers inexperienced with refactoring or unfamiliar with a given code base. Automated refactoring tools can help not only by applying these changes, but by identifying opportunities for refactoring. Yet, developers have not been quick to adopt these tools due to a lack of trust between the developer and the tool. We propose an approach in the form of a visualization to …
Bubble-In Digital Testing System,
2020
California State University, San Bernardino
Bubble-In Digital Testing System, Chaz Hampton
Electronic Theses, Projects, and Dissertations
Bubble-In is a cloud-based test-taking system build for students and teachers. The Bubble-In system is a test-taking application that interfaces with a cloud server. The mobile applications have been built for Android and Apple devices and the webserver is hosted on Digital Ocean VPS run with Nginx. The Bubble-In application is equipped with anti-cheating mechanisms such as question-answer key scrambling, not allowing screenshots, screen recording, or leaving the application. The tests students take are sent to the webserver to be graded and have statistics calculated and displayed in easy to use format for the test creator. Instructors can use the …
A Virtualization Based System Infrastructure For Dynamic Program Analysis,
2020
Singapore Management University
A Virtualization Based System Infrastructure For Dynamic Program Analysis, Jiaqi Hong
Dissertations and Theses Collection (Open Access)
Dynamic malware analysis schemes either run the target program as is in an isolated environment assisted by additional hardware facilities or modify it with instrumentation code statically or dynamically. The hardware-assisted schemes usually trap the target during its execution to a more privileged environment based on the available hardware events. The more privileged environment is not accessible by the untrusted kernel, thus this approach is often applied for transparent and secure kernel analysis. Nevertheless, the isolated environment induces a virtual address gap between the analyzer and the target, which hinders effective and efficient memory introspection and undermines the correctness of …
On The Relationship Between Developer Experience And Refactoring: An Exploratory Study And Preliminary Results,
2020
Rochester Institute of Technology
On The Relationship Between Developer Experience And Refactoring: An Exploratory Study And Preliminary Results, Eman Abdullah Alomar, Anthony Peruma, Christian D. Newman, Mohamed Wiem Mkaouer, Ali Ouni
Articles
Refactoring is one of the means of managing technical debt and maintaining a healthy software structure through enforcing best design practices, or coping with design defects. Previous refactoring surveys have shown that these code restructurings are mainly executed by developers who have sufficient knowledge of the system’s design, and disposing of leadership roles in their development teams. However, these surveys were mainly limited to specific projects and companies. In this paper, we explore the generalizability of the previous results though analyzing 800 open-source projects. We mine their refactoring activities, and we identify their corresponding contributors. Then, we associate an expertise …
Integrating Finance Dictionary In Lexicon-Based Approach With Machine Learning Algorithm To Analyse The Impact Of Opec News Sentiment On Financial Market,
2020
Universiti Malaya
Integrating Finance Dictionary In Lexicon-Based Approach With Machine Learning Algorithm To Analyse The Impact Of Opec News Sentiment On Financial Market, Ling Wu
Student Works (2020-2029)
Since last few decades, machine learning algorithm which trains computers to learn from experience, is one of the most rapidly developing techniques which settles in the intersection research field of statistics and computer science. This research aims to build a properly trained machine learning classifier to study the impact of Organization of Petroleum Exporting Countries (OPEC) news sentiment on stock prices of six Malaysian public listed companies (energy sector) in the main board of Bursa Malaysia. The data used in this research are collected during the period 2012-2017. To carry out the research, firstly, lexicon-based approach is used to analyze …
Cc2vec: Distributed Representations Of Code Changes,
2020
Singapore Management University
Cc2vec: Distributed Representations Of Code Changes, Thong Hoang, Hong Jin Kang, Julia Lawall, David Lo
Research Collection School Of Computing and Information Systems
Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify these features for each task. In this work, we propose CC2Vec, a neural network model that learns a representation of code changes guided by their accompanying log messages, which represent the semantic intent of the code changes. CC2Vec models the hierarchical structure of a code change with the help of the attention mechanism and usesmultiple comparison functions to identify the differences between the removed and added code. To evaluate if CC2Vec can …
A Machine Learning Approach For Vulnerability Curation,
2020
Veracode
A Machine Learning Approach For Vulnerability Curation, Yang Chen, Andrew E. Santosa, Ming Yi Ang, Abhishek Sharma, Asankhaya Sharma, David Lo
Research Collection School Of Computing and Information Systems
Software composition analysis depends on database of open-source library vulerabilities, curated by security researchers using various sources, such as bug tracking systems, commits, and mailing lists. We report the design and implementation of a machine learning system to help the curation by by automatically predicting the vulnerability-relatedness of each data item. It supports a complete pipeline from data collection, model training and prediction, to the validation of new models before deployment. It is executed iteratively to generate better models as new input data become available. We use self-training to significantly and automatically increase the size of the training dataset, opportunistically …
Is Using Deep Learning Frameworks Free?: Characterizing Technical Debt In Deep Learning Frameworks,
2020
Zhejiang University
Is Using Deep Learning Frameworks Free?: Characterizing Technical Debt In Deep Learning Frameworks, Jiakun Liu, Qiao Huang, Xin Xia, Emad Shihab, David Lo, Shanping Li
Research Collection School Of Computing and Information Systems
Developers of deep learning applications (shortened as application developers) commonly use deep learning frameworks in their projects. However, due to time pressure, market competition, and cost reduction, developers of deep learning frameworks (shortened as framework developers) often have to sacrifice software quality to satisfy a shorter completion time. This practice leads to technical debt in deep learning frameworks, which results in the increasing burden to both the application developers and the framework developers in future development.In this paper, we analyze the comments indicating technical debt (self-admitted technical debt) in 7 of the most popular open-source deep learning frameworks. Although framework …
