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

Software Engineering Commons™

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

4,680 Full-Text Articles 7,285 Authors 2,188,662 Downloads 182 Institutions

All Articles in Software Engineering

Faceted Search

4,680 full-text articles. Page 107 of 190.

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 2019 Rochester Institute of Technology

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 2019 California Polytechnic State University, San Luis Obispo

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 …


How Practitioners Perceive Coding Proficiency, Xin XIA, Zhiyuan WAN, Pavneet S. KOCHHAR, David LO 2019 Singapore Management University

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 …


On The Impact Of Refactoring On The Relationship Between Quality Attributes And Design Metrics, Mohamed Wiem Mkaouer, Eman Abdullah AlOmar, Ali Ouni, Marouane Kessentini 2019 Rochester Institute of Technology

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 …


Grant Anon Minigames Extension, Justin Robbins 2019 University of Nebraska at Omaha

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 …


Practitioners' Views On Good Software Testing Practices, Pavneet S. KOCHHAR, Xin XIA, David LO 2019 Singapore Management University

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 …


Patchnet: A Tool For Deep Patch Classification, Thong HOANG, Julia LAWALL, Richard J. OENTARYO, Yuan TIAN, David LO 2019 Singapore Management University

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 2019 Singapore Management University

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.


Patchnet: A Tool For Deep Patch Classification, Thong HOANG, Julia LAWALL, Richard J. OENTARYO, Yuan TIAN, David LO 2019 Singapore Management University

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


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 2019 Singapore Management University

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 2019 Carnegie Mellon University

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 …


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 2019 Singapore Management University

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 …


Assume-Guarantee Reasoning Using A Cyber Security Ontology, Ali Abdurhman Alfageeh 2019 Florida Institute of Technology

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 …


Robust Factorization Machine: A Doubly Capped Norms Minimization, Chenghao LIU, Teng ZHANG, Jundong LI, Jianwen YIN, Peilin ZHAO, Jianling SUN, Steven C. H. HOI 2019 Singapore Management University

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


Graph Based Optimization For Multiagent Cooperation, Arambam James SINGH, Akshat KUMAR 2019 Singapore Management University

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 …


A Mobile Application For Crowdsourced Acquisition Of Urban Street-View Pedestrian Facility Data, Andrew Fink 2019 University of Southern Mississippi

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 …


Witt: Querying Technology Terms Based On Automated Classification, Mathieu NASSIF, Christoph TREUDE, Martin P. ROBILLARD 2019 Singapore Management University

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 2019 Singapore Management University

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 2019 Singapore Management University

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 2019 Singapore Management University

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 …


Digital Commons powered by bepress