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

Computer Sciences Commons™

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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 1831 - 1860 of 4323

Full-Text Articles in Computer Sciences

A Webrtc Video Chat Implementation Within The Yioop Search Engine, Yangcha Ho May 2019

A Webrtc Video Chat Implementation Within The Yioop Search Engine, Yangcha Ho

Master's Projects

Web real-time communication (abbreviated as WebRTC) is one of the latest Web application technologies that allows voice, video, and data to work collectively in a browser without a need for third-party plugins or proprietary software installation. When two browsers from different locations communicate with each other, they must know how to locate each other,

bypass security and firewall protections, and transmit all multimedia communications in real time. This project not only illustrates how WebRTC technology works but also walks through a real example of video chat-style application. The application communicates between two remote users using WebSocket and the data encryption …


Mobile Music Development Tools For Creative Coders, Daniel Stuart Holmes May 2019

Mobile Music Development Tools For Creative Coders, Daniel Stuart Holmes

LSU Doctoral Dissertations

This project is a body of work that facilitates the creation of musical mobile artworks. The project includes a code toolkit that enhances and simplifies the development of mobile music iOS applications, a flexible notation system designed for mobile musical interactions, and example apps and scored compositions to demonstrate the toolkit and notation system.

The code library is designed to simplify the technical aspect of user-centered design and development with a more direct connection between concept and deliverable. This sim- plification addresses learning problems (such as motivation, self-efficacy, and self-perceived understanding) by bridging the gap between idea and functional prototype …


Arecibo Message, Joshua P. Tan May 2019

Arecibo Message, Joshua P. Tan

Open Educational Resources

This two week assignment asks students to interpret and analyze the 1974 Arecibo Message sent by Drake and Sagan. Week 1 introduces the concepts behind the construction of the message and engages with a critical analysis of the architecture and the contents of the message. Week 2 asks students to develop software in a Jupyter Notebook (available for free from the Anaconda Python Distribution) to interpret messages that were similar to those produced by Drake and Sagan.


Smiler: Consistent And Usable Saliency Model Implementations, Toni Kunic, Calden Wloka, John K. Tsotsos May 2019

Smiler: Consistent And Usable Saliency Model Implementations, Toni Kunic, Calden Wloka, John K. Tsotsos

MODVIS Workshop

The Saliency Model Implementation Library for Experimental Research (SMILER) is a new software package which provides an open, standardized, and extensible framework for maintaining and executing computational saliency models. This work drastically reduces the human effort required to apply saliency algorithms to new tasks and datasets, while also ensuring consistency and procedural correctness for results and conclusions produced by different parties. At its launch SMILER already includes twenty three saliency models (fourteen models based in MATLAB and nine supported through containerization), and the open design of SMILER encourages this number to grow with future contributions from the community. The project …


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 …


Celltrademap: Delineating Trade Areas For Urban Commercial Districts With Cellular Networks, Yi Zhao, Zimu Zhou, Xu Wang, Tongtong Liu, Yunhao Liu, Zheng Yang May 2019

Celltrademap: Delineating Trade Areas For Urban Commercial Districts With Cellular Networks, Yi Zhao, Zimu Zhou, Xu Wang, Tongtong Liu, Yunhao Liu, Zheng Yang

Research Collection School Of Computing and Information Systems

Understanding customer mobility patterns to commercial districts is crucial for urban planning, facility management, and business strategies. Trade areas are a widely applied measure to quantity where the visitors are from. Traditional trade area analysis is limited to small-scale or store-level studies because information such as visits to competitor commercial entities and place of residence is collected by labour-intensive questionnaires or heavily biased location-based social media data. In this paper, we propose CellTradeMap, a novel district-level trade area analysis framework using mobile flow records (MFRs), a type of fine-grained cellular network data. CellTradeMap extracts robust location information from the irregularly …


Can Refactoring Be Self-Affirmed? An Exploratory Study On How Developers Document Their Refactoring Activities In Commit Messages, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni May 2019

Can Refactoring Be Self-Affirmed? An Exploratory Study On How Developers Document Their Refactoring Activities In Commit Messages, Eman Abdullah Alomar, Mohamed Wiem Mkaouer, Ali Ouni

Articles

Refactoring is a critical task in software maintenance and is usually performed to enforce best design practices, or to cope with design defects. Previous studies heavily rely on defining a set of keywords to identify refactoring commits from a list of general commits extracted from a small set of software
systems. All approaches thus far consider all commits without checking whether refactorings had actually happened or not. In this paper, we aim at exploring how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring, which is an indication of
the developer-related refactoring events …


Dynamic Shifting Of Virtual Network Topologies For Network Attack Prevention, Lenoy Avidan May 2019

Dynamic Shifting Of Virtual Network Topologies For Network Attack Prevention, Lenoy Avidan

Master's Theses

Computer networks were not designed with security in mind, making research into the subject of network security vital. Virtual Networks are similar to computer networks, except the components of a Virtual Network are in software rather than hardware. With the constant threat of attacks on networks, security is always a big concern, and Virtual Networks are no different. Virtual Networks have many potential attack vectors similar to physical networks, making research into Virtual Network security of great importance. Virtual Networks, since they are composed of virtualized network components, have the ability to dynamically change topologies. In this paper, we explore …


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 …


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 …


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 …


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 …


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 …


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 …


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 …


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. …


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. …


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 …


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 …


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 …


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.


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 …


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 …


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 …


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 …


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 …


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 …