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

Software Engineering Commons™

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

2019

Discipline
Institution
Keyword
Publication
Publication Type
File Type

Articles 151 - 180 of 256

Full-Text Articles in Software Engineering

Predicting Good Configurations For Github And Stack Overflow Topic Models, Christoph Treude, Markus Wagner May 2019

Predicting Good Configurations For Github And Stack Overflow Topic Models, Christoph Treude, Markus Wagner

Research Collection School Of Computing and Information Systems

Software repositories contain large amounts of textual data, ranging from source code comments and issue descriptions to questions, answers, and comments on Stack Overflow. To make sense of this textual data, topic modelling is frequently used as a text-mining tool for the discovery of hidden semantic structures in text bodies. Latent Dirichlet allocation (LDA) is a commonly used topic model that aims to explain the structure of a corpus by grouping texts. LDA requires multiple parameters to work well, and there are only rough and sometimes conflicting guidelines available on how these parameters should be set. In this paper, we …


Peerlens: Peer-Inspired Interactive Learning Path Planning In Online Question Pool, Meng Xia, Mingfei Sun, Huan Wei, Qing Chen, Yong Wang, Lei Shi, Huamin Qu, Xiaojuan Ma May 2019

Peerlens: Peer-Inspired Interactive Learning Path Planning In Online Question Pool, Meng Xia, Mingfei Sun, Huan Wei, Qing Chen, Yong Wang, Lei Shi, Huamin Qu, Xiaojuan Ma

Research Collection School Of Computing and Information Systems

Online question pools like LeetCode provide hands-on exercises of skills and knowledge. However, due to the large volume of questions and the intent of hiding the tested knowledge behind them, many users find it hard to decide where to start or how to proceed based on their goals and performance. To overcome these limitations, we present PeerLens, an interactive visual analysis system that enables peer-inspired learning path planning. PeerLens can recommend a customized, adaptable sequence of practice questions to individual learners, based on the exercise history of other users in a similar learning scenario. We propose a new way to …


A Mobile Application For Crowdsourced Acquisition Of Urban Street-View Pedestrian Facility Data, Andrew Fink May 2019

A Mobile Application For Crowdsourced Acquisition Of Urban Street-View Pedestrian Facility Data, Andrew Fink

Honors Theses

In recent years, pedestrians have been dangerously overrepresented in traffic crashes, and the pedestrian fatality rate has steadily increased during the last decade. Additionally, studies have shown that the majority of pedestrian-involved traffic accidents occur in urban non-intersections, which suggests that a more well-connected pedestrian facility network in cities would lower the rate of pedestrian involvement in traffic accidents. One way to improve the pedestrian facility network coverage is to first have up-to-date, accurate, and thorough data regarding the presence of existing pedestrian facilities. However, state departments of transportation have stated that the current methods of acquiring this data are …


Robust Factorization Machine: A Doubly Capped Norms Minimization, Chenghao Liu, Teng Zhang, Jundong Li, Jianwen Yin, Peilin Zhao, Jianling Sun, Steven C. H. Hoi May 2019

Robust Factorization Machine: A Doubly Capped Norms Minimization, Chenghao Liu, Teng Zhang, Jundong Li, Jianwen Yin, Peilin Zhao, Jianling Sun, Steven C. H. Hoi

Research Collection School Of Computing and Information Systems

Factorization Machine (FM) is a general supervised learning framework for many AI applications due to its powerful capability of feature engineering. Despite being extensively studied, existing FM methods have several limitations in common. First of all, most existing FM methods often adopt the squared loss in the modeling process, which can be very sensitive when the data for learning contains noises and outliers. Second, some recent FM variants often explore the low-rank structure of the feature interactions matrix by relaxing the low-rank minimization problem as a trace norm minimization, which cannot always achieve a tight approximation to the original one. …


9.6 Million Links In Source Code Comments: Purpose, Evolution, And Decay, Hideaki Hata, Christoph Treude, Raula Gaikovina Kula, Takashi Ishio May 2019

9.6 Million Links In Source Code Comments: Purpose, Evolution, And Decay, Hideaki Hata, Christoph Treude, Raula Gaikovina Kula, Takashi Ishio

Research Collection School Of Computing and Information Systems

Links are an essential feature of the World Wide Web, and source code repositories are no exception. However, despite their many undisputed benefits, links can suffer from decay, insufficient versioning, and lack of bidirectional traceability. In this paper, we investigate the role of links contained in source code comments from these perspectives. We conducted a large-scale study of around 9.6 million links to establish their prevalence, and we used a mixed-methods approach to identify the links' targets, purposes, decay, and evolutionary aspects. We found that links are prevalent in source code repositories, that licenses, software homepages, and specifications are common …


Grant Anon Minigames Extension, Justin Robbins May 2019

Grant Anon Minigames Extension, Justin Robbins

Theses/Capstones/Creative Projects

The Grant Anon system was designed to be a casualized version of the real-time strategy genre, a genre usually known for its difficulty and competitiveness because of Starcraft II, the most popular game in the genre. Grant Anon was designed as part of a capstone project, and this report details the extension that was created to add an additional element designed to make it easier for any player to enjoy Grant Anon: minigames. These minigames serve to reduce the skill needed to participate effectively in Grant Anon. This is accomplished by providing an alternative means of gaining an advantage over …


Concluding Remarks, Lei Meng, Ah-Hwee Tan, Donald C. Wunsch May 2019

Concluding Remarks, Lei Meng, Ah-Hwee Tan, Donald C. Wunsch

Research Collection School Of Computing and Information Systems

This chapter summarizes the major contributions in this book and discusses their possible positions and requirements in some future scenarios. Section 8.1 follows the book structure to revisit the key contributions of this book in both theories and applications. The developed algorithms, such as the VA-ARTs for hyperparameter adaptation and the GHF-ART for multimedia representation and fusion, and the four applications, such as clustering and retrieving socially enriched multimedia data, are concentrated using one paragraph and three paragraphs, respectively. In Sect. 8.2, the roles of the proposed ART-embodied algorithms in social media clustering tasks are highlighted, and their possible evolutions …


Assume-Guarantee Reasoning Using A Cyber Security Ontology, Ali Abdurhman Alfageeh May 2019

Assume-Guarantee Reasoning Using A Cyber Security Ontology, Ali Abdurhman Alfageeh

Theses and Dissertations

Design of a network is a challenging problem as it involves the integration of several complex components such as routers, servers, computers, smart devices. This is further complicated by the need to have robust security policies implemented to prevent violation of confidentiality as the networked devices interact. The design of such complex networked systems demand a more rigorous approach to the modeling and analysis, which can be inherited from the field of Software engineering. Presently, network or security engineers do not use a system/software engineering approach to design and build cybersecurity systems. Thus, we propose a system/software engineering approach to …


Practitioners' Views On Good Software Testing Practices, Pavneet S. Kochhar, Xin Xia, David Lo May 2019

Practitioners' Views On Good Software Testing Practices, Pavneet S. Kochhar, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Software testing is an integral part of software development process. Unfortunately, for many projects, bugs are prevalent despite testing effort, and testing continues to cost significant amount of time and resources. This brings forward the issue of test case quality and prompts us to investigate what make good test cases. To answer this important question, we interview 21 and survey 261 practitioners, who come from many small to large companies and open source projects distributed in 27 countries, to create and validate 29 hypotheses that describe characteristics of good test cases and testing practices. These characteristics span multiple dimensions including …


Emerging App Issue Identification From User Feedback: Experience On Wechat, Cuiyun Gao, Wujie Zheng, Yuetang Deng, David Lo, Jichuan Zeng, Michael R. Lyu, Irwin King May 2019

Emerging App Issue Identification From User Feedback: Experience On Wechat, Cuiyun Gao, Wujie Zheng, Yuetang Deng, David Lo, Jichuan Zeng, Michael R. Lyu, Irwin King

Research Collection School Of Computing and Information Systems

It is vital for popular mobile apps with large numbers of users to release updates with rich features while keeping stable user experience. Timely and accurately locating emerging app issues can greatly help developers to maintain and update apps. User feedback (i.e., user reviews) is a crucial channel between app developers and users, delivering a stream of information about bugs and features that concern users. Methods to identify emerging issues based on user feedback have been proposed in the literature, however, their applicability in industry has not been explored. We apply the recent method IDEA to WeChat, a popular messenger …


Patchnet: A Tool For Deep Patch Classification, Thong Hoang, Julia Lawall, Richard J. Oentaryo, Yuan Tian, David Lo May 2019

Patchnet: A Tool For Deep Patch Classification, Thong Hoang, Julia Lawall, Richard J. Oentaryo, Yuan Tian, David Lo

Research Collection School Of Computing and Information Systems

This work proposes PatchNet, an automated tool based on hierarchical deep learning for classifying patches by extracting features from commit messages and code changes. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of a code change, differentiating it from the existing deep learning models on source code. PatchNet provides several options allowing users to select parameters for the training process. The tool has been validated in the context of automatic identification of stable-relevant patches in the Linux kernel and is potentially applicable to automate other software engineering tasks that can be formulated as patch classification …


On The Impact Of Refactoring On The Relationship Between Quality Attributes And Design Metrics, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni, Marouane Kessentini May 2019

On The Impact Of Refactoring On The Relationship Between Quality Attributes And Design Metrics, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Ali Ouni, Marouane Kessentini

Articles

Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities through mining software repositories allowing to collect, analyze and get actionable data-driven insights about refactoring practices within software projects. Aim: We aim at identifying, among the various quality models presented in the literature, the ones that are more in-line with the developer’s vision of quality optimization, when they explicitly mention that they are refactoring to improve them. Method: We extract a large corpus of design-related refactoring activities …


Witt: Querying Technology Terms Based On Automated Classification, Mathieu Nassif, Christoph Treude, Martin P. Robillard May 2019

Witt: Querying Technology Terms Based On Automated Classification, Mathieu Nassif, Christoph Treude, Martin P. Robillard

Research Collection School Of Computing and Information Systems

Witt is a tool that systematically and automatically categorizes software technologies using original information extraction algorithms applied to Stack Overflow and Wikipedia. Witt takes as input a term, such as "django", and returns one or more categories that describe it (e.g., "framework"), along with attributes that further qualify it (e.g., "web-application"). Our comparative evaluation of Witt against six independent taxonomy tools showed that, when applied to software terms, Witt has better coverage than alternative solutions, without a corresponding degradation in the number of spurious results. The information extracted by Witt is available through the Witt Web Application, which allows users …


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 …


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 …


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 …


Patchnet: A Tool For Deep Patch Classification, Thong Hoang, Julia Lawall, Richard J. Oentaryo, Yuan Tian, David Lo May 2019

Patchnet: A Tool For Deep Patch Classification, Thong Hoang, Julia Lawall, Richard J. Oentaryo, Yuan Tian, David Lo

Research Collection School Of Computing and Information Systems

This work proposes PatchNet, an automated tool based on hierarchical deep learning for classifying patches by extracting features from commit messages and code changes. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of a code change, differentiating it from the existing deep learning models on source code. PatchNet provides several options allowing users to selectparameters for the training process. The tool has been validated in the context of automatic identification of stable-relevant patches in the Linux kernel and is potentially applicable to automate other software engineering tasks that can be formulated as patch classification problems. …


On Reliability Of Patch Correctness Assessment, Xuan-Bach D. Le, Lingfeng Bao, David Lo, Xin Xia, Shanping Li, Corina S. Pasareanu May 2019

On Reliability Of Patch Correctness Assessment, Xuan-Bach D. Le, Lingfeng Bao, David Lo, Xin Xia, Shanping Li, Corina S. Pasareanu

Research Collection School Of Computing and Information Systems

Current state-of-the-art automatic software repair (ASR) techniques rely heavily on incomplete specifications, or test suites, to generate repairs. This, however, may cause ASR tools to generate repairs that are incorrect and hard to generalize. To assess patch correctness, researchers have been following two methods separately: (1) Automated annotation, wherein patches are automatically labeled by an independent test suite (ITS) – a patch passing the ITS is regarded as correct or generalizable, and incorrect otherwise, (2) Author annotation, wherein authors of ASR techniques manually annotate the correctness labels of patches generated by their and competing tools. While automated annotation cannot ascertain …


How Practitioners Perceive Coding Proficiency, Xin Xia, Zhiyuan Wan, Pavneet S. Kochhar, David Lo May 2019

How Practitioners Perceive Coding Proficiency, Xin Xia, Zhiyuan Wan, Pavneet S. Kochhar, David Lo

Research Collection School Of Computing and Information Systems

Coding proficiency is essential to software practitioners. Unfortunately, our understanding on coding proficiency often translates to vague stereotypes, e.g., “able to write good code”. The lack of specificity hinders employers from measuring a software engineer’s coding proficiency, and software engineers from improving their coding proficiency skills. This raises an important question: what skills matter to improve one’s coding proficiency. To answer this question, we perform an empirical study by surveying 340 software practitioners from 33 countries across 5 continents. We first identify 38 coding proficiency skills grouped into nine categories by interviewing 15 developers from three companies. We then ask …


Deepjit: An End-To-End Deep Learning Framework For Just-In-Time Defect Prediction, Thong Hoang, Hoa Khanh Dam, Yasutaka Kamei, David Lo, Naoyasu Ubayashi May 2019

Deepjit: An End-To-End Deep Learning Framework For Just-In-Time Defect Prediction, Thong Hoang, Hoa Khanh Dam, Yasutaka Kamei, David Lo, Naoyasu Ubayashi

Research Collection School Of Computing and Information Systems

Software quality assurance efforts often focus on identifying defective code. To find likely defective code early, change-level defect prediction – aka. Just-In-Time (JIT) defect prediction – has been proposed. JIT defect prediction models identify likely defective changes and they are trained using machine learning techniques with the assumption that historical changes are similar to future ones. Most existing JIT defect prediction approaches make use of manually engineered features. Unlike those approaches, in this paper, we propose an end-to-end deep learning framework, named DeepJIT, that automatically extracts features from commit messages and code changes and use them to identify defects. Experiments …


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 …


Clustering And Its Extensions In The Social Media Domain, Lei Meng, Ah-Hwee Tan, Donald C. Wunsch May 2019

Clustering And Its Extensions In The Social Media Domain, Lei Meng, Ah-Hwee Tan, Donald C. Wunsch

Research Collection School Of Computing and Information Systems

This chapter summarizes existing clustering and related approaches for the identified challenges as described in Sect. 1.2 and presents the key branches of social media mining applications where clustering holds a potential. Specifically, several important types of clustering algorithms are first illustrated, including clustering, semi-supervised clustering, heterogeneous data co-clustering, and online clustering. Subsequently, Sect. 2.5 presents a review on existing techniques that help decide the value of the predefined number of clusters (required by most clustering algorithms) automatically and highlights the clustering algorithms that do not require such a parameter. It better illustrates the challenge of input parameter sensitivity of …


A Homophily-Free Community Detection Framework For Trajectories With Delayed Responses, Chung-Kyun Han, Shih-Fen Cheng, Pradeep Varakantham May 2019

A Homophily-Free Community Detection Framework For Trajectories With Delayed Responses, Chung-Kyun Han, Shih-Fen Cheng, Pradeep Varakantham

Research Collection School Of Computing and Information Systems

No abstract provided.


Yelp Improved : Aggregating Restaurant Reviews, Kunal Sonar Apr 2019

Yelp Improved : Aggregating Restaurant Reviews, Kunal Sonar

Creative Activity and Research Day - CARD

In the near future, online food delivery service companies would occupy a big market share in the food industry. This project aims to provide factual information from customer reviews as part of the numerous innovations in place to drive business and demands. Natural Language Processing is used to provide a comprehensive view of individual restaurants using technologies like NLTK, SpaCy, Gensim and Sklearn. Data of one million Las Vegas restaurant customer reviews is curated from the Yelp Dataset Challenge. Reviews are pre-processed, split into chunks of phrases and mapped to attributes like food, budget, service etc. These attributes are derived …


Building Consumer Trust In The Cloud: An Experimental Analysis Of The Cloud Trust Label Approach, Lisa Van Der Werff, Grace Fox, Ieva Masevic, Vincent C. Emeakaroha, John P. Morrison, Theo Lynn Apr 2019

Building Consumer Trust In The Cloud: An Experimental Analysis Of The Cloud Trust Label Approach, Lisa Van Der Werff, Grace Fox, Ieva Masevic, Vincent C. Emeakaroha, John P. Morrison, Theo Lynn

Department of Computer Science Publications

The lack of transparency surrounding cloud service provision makes it difficult for consumers to make knowledge based purchasing decisions. As a result, consumer trust has become a major impediment to cloud computing adoption. Cloud Trust Labels represent a means of communicating relevant service and security information to potential customers on the cloud service provided, thereby facilitating informed decision making. This research investigates the potential of a Cloud Trust Label system to overcome the trust barrier. Specifically, it examines the impact of a Cloud Trust Label on consumer perceptions of a service and cloud service provider trustworthiness and trust in the …


The Standards Project, Dustin Robbins Apr 2019

The Standards Project, Dustin Robbins

Honors Theses

The Standards Project is a web app that is intended to assist United States K-12 students in meeting the academic standards each state has set out for their students. The app is intended to allow instructors to see how proficient incoming students are in standards set for the prior grade (e.g. 6th grade students’ 5th grade math skills would be shown) and launch “interventions”—be these online modules with educational content and quiz questions, after school activities, or some other form of instruction—in order to help students in problem areas while spending a minimum of class time on old material.

It …


Use Of Software Process In Research Software Development:A Survey, Nasir U. Eisty, George K. Thiruvathukal, Jeffrey C. Carver Apr 2019

Use Of Software Process In Research Software Development:A Survey, Nasir U. Eisty, George K. Thiruvathukal, Jeffrey C. Carver

Computer Science: Faculty Publications and Other Works

Background: Developers face challenges in building high-quality research software due to its inherent complexity. These challenges can reduce the confidence users have in the quality of the result produced by the software. Use of a defined software development process, which divides the development into distinct phases, results in improved design, more trustworthy results, and better project management. Aims: This paper focuses on gaining a better understanding of the use of software development process for research software. Method: We surveyed research software developers to collect information about their use of software development processes. We analyze whether and demographic factors influence the …


Automated Tool Support For Security Bug Repair In Mobile Applications, Larry Singleton Apr 2019

Automated Tool Support For Security Bug Repair In Mobile Applications, Larry Singleton

Computer Science Graduate Research Workshop

No abstract provided.


Tool Support For Recurring Code Change Inspection With Deep Learning, Krishna Teja Ayinala Apr 2019

Tool Support For Recurring Code Change Inspection With Deep Learning, Krishna Teja Ayinala

Computer Science Graduate Research Workshop

No abstract provided.


Lightweight Formal Methods For Improving Software Security, Andrew Berns, James Curbow, Joshua Hilliard, Sheriff Jorkeh, Miho Sanders Apr 2019

Lightweight Formal Methods For Improving Software Security, Andrew Berns, James Curbow, Joshua Hilliard, Sheriff Jorkeh, Miho Sanders

Research in the Capitol

This research examines how software specifications could be used to build more-secure software. For this project, we analyzed known vulnerabilities for open source projects to identify the corrective actions required to patch the vulnerability. For each vulnerability, we then augmented the program with formal assertions in an attempt to allow a static analysis tool to find the vulnerability. Using the information gathered from these assertions, we hope to determine which assertions are most effective at finding vulnerabilities with today's tools and evaluate new assertions that could be added to the static analysis tool to help uncover more vulnerabilities. My work …