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 211 - 240 of 256

Full-Text Articles in Software Engineering

Requirements Practices In Software Startups, John D. Hoff Feb 2019

Requirements Practices In Software Startups, John D. Hoff

Scholarly Horizons: University of Minnesota, Morris Undergraduate Journal

In a dynamic environment full of uncertainties in software startups, software development practices must be carefully approached. It is vital that startups determine the right time to make advancements and evolve their company to the next level. We will discuss the importance of requirements practices in startups and their impact on company culture, work environments, and product quality.


Fc2: Cloud-Based Cluster Provisioning For Distributed Machine Learning, Nguyen Binh Duong Ta Feb 2019

Fc2: Cloud-Based Cluster Provisioning For Distributed Machine Learning, Nguyen Binh Duong Ta

Research Collection School Of Computing and Information Systems

Training large, complex machine learning models such as deep neural networks with big data requires powerful computing clusters, which are costly to acquire, use and maintain. As a result, many machine learning researchers turn to cloud computing services for on-demand and elastic resource provisioning capabilities. Two issues have arisen from this trend: (1) if not configured properly, training models on cloud-based clusters could incur significant cost and time, and (2) many researchers in machine learning tend to focus more on model and algorithm development, so they may not have the time or skills to deal with system setup, resource selection …


Unveiling Exception Handling Guidelines Adopted By Java Developers, Hugo Melo, Roberta Coelho, Christoph Treude Feb 2019

Unveiling Exception Handling Guidelines Adopted By Java Developers, Hugo Melo, Roberta Coelho, Christoph Treude

Research Collection School Of Computing and Information Systems

Despite being an old language feature, Java exception handling code is one of the least understood parts of many systems. Several studies have analyzed the characteristics of exception handling code, trying to identify common practices or even link such practices to software bugs. Few works, however, have investigated exception handling issues from the point of view of developers. None of the works have focused on discovering exception handling guidelines adopted by current systems - which are likely to be a driver of common practices. In this work, we conducted a qualitative study based on semi-structured interviews and a survey whose …


Grand Challenges In Accessible Maps, Jon E. Froehlich, Anke M. Brock, Anat Caspi, Joao Guerreiro, Kotaro Hara, Reuben Kirkham, Johannes Schoning, Benjamin Tannert Feb 2019

Grand Challenges In Accessible Maps, Jon E. Froehlich, Anke M. Brock, Anat Caspi, Joao Guerreiro, Kotaro Hara, Reuben Kirkham, Johannes Schoning, Benjamin Tannert

Research Collection School Of Computing and Information Systems

In this forum we celebrate research that helps to successfully bring the benefits of computing technologies to children, older adults, people with disabilities, and other populations that are often ignored in the design of mass-marketed products.


Evolutionary Trends In The Collaborative Review Process Of A Large Software System, Subhajit Datta, Poulami Sarkar Feb 2019

Evolutionary Trends In The Collaborative Review Process Of A Large Software System, Subhajit Datta, Poulami Sarkar

Research Collection School Of Computing and Information Systems

In this paper, we study the evolutionary trends in the collaborative review process of a large open source software system. As expected, the number of reviews, the number of reviews commented on, as well as the number of reviewers, and the interactions between them show increasing trends over time. But unexpectedly, levels of clustering between developers in their interaction networks show a decreasing trend, even as connections between them increase. In the context of our study, clustering is an indicator of developer collaboration, whereas connection points to how intensely developers work together. Thus the trends we observe can inform how …


Preference-Aware Task Assignment In On-Demand Taxi Dispatching: An Online Stable Matching Approach, Boming Zhao, Pan Xu, Yexuan Shi, Yongxin Tong, Zimu Zhou, Yuxiang Zeng Feb 2019

Preference-Aware Task Assignment In On-Demand Taxi Dispatching: An Online Stable Matching Approach, Boming Zhao, Pan Xu, Yexuan Shi, Yongxin Tong, Zimu Zhou, Yuxiang Zeng

Research Collection School Of Computing and Information Systems

No abstract provided.


Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo Feb 2019

Automatic Code Review By Learning The Revision Of Source Code, Shu-Ting Shi, Ming Li, David Lo, Ferdian Thung, Xuan Huo

Research Collection School Of Computing and Information Systems

Code review is the process of manual inspection on the revision of the source code in order to find out whether the revised source code eventually meets the revision requirements. However, manual code review is time-consuming, and automating such the code review process will alleviate the burden of code reviewers and speed up the software maintenance process. To construct the model for automatic code review, the characteristics of the revisions of source code (i.e., the difference between the two pieces of source code) should be properly captured and modeled. Unfortunately, most of the existing techniques can easily model the overall …


Dish: Democracy In State Houses, Nicholas A. Russo Feb 2019

Dish: Democracy In State Houses, Nicholas A. Russo

Master's Theses

In our current political climate, state level legislators have become increasingly impor- tant. Due to cuts in funding and growing focus at the national level, public oversight for these legislators has drastically decreased. This makes it difficult for citizens and activists to understand the relationships and commonalities between legislators. This thesis provides three contributions to address this issue. First, we created a data set containing over 1200 features focused on a legislator’s activity on bills. Second, we created embeddings that represented a legislator’s level of activity and engagement for a given bill using a custom model called Democracy2Vec. Third, we …


Bilateral Dependency Neural Networks For Cross-Language Algorithm Classification, Duy Quoc Nghi Bui, Yijun Yu, Lingxiao Jiang Feb 2019

Bilateral Dependency Neural Networks For Cross-Language Algorithm Classification, Duy Quoc Nghi Bui, Yijun Yu, Lingxiao Jiang

Research Collection School Of Computing and Information Systems

Algorithm classification is to automatically identify the classes of a program based on the algorithm(s) and/or data structure(s) implemented in the program. It can be useful for various tasks, such as code reuse, code theft detection, and malware detection. Code similarity metrics, on the basis of features extracted from syntax and semantics, have been used to classify programs. Such features, however, often need manual selection effort and are specific to individual programming languages, limiting the classifiers to programs in the same language.To recognise the similarities and differences among algorithms implemented in different languages, this paper describes a framework of Bilateral …


Recommending New Features From Mobile App Descriptions, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo, Xindong Wu, Zhongxuan Luo Feb 2019

Recommending New Features From Mobile App Descriptions, He Jiang, Jingxuan Zhang, Xiaochen Li, Zhilei Ren, David Lo, Xindong Wu, Zhongxuan Luo

Research Collection School Of Computing and Information Systems

The rapidly evolving mobile applications (apps) have brought great demand for developers to identify new features by inspecting the descriptions of similar apps and acquire missing features for their apps. Unfortunately, due to the huge number of apps, this manual process is time-consuming and unscalable. To help developers identify new features, we propose a new approach named SAFER. In this study, we first develop a tool to automatically extract features from app descriptions. Then, given an app, we leverage the topic model to identify its similar apps based on the extracted features and API names of apps. Finally, we design …


Deception In Finitely Repeated Security Games, Thanh H. Nguyen, Yongzhao Wang, Arunesh Sinha, Michael P. Wellman Feb 2019

Deception In Finitely Repeated Security Games, Thanh H. Nguyen, Yongzhao Wang, Arunesh Sinha, Michael P. Wellman

Research Collection School Of Computing and Information Systems

Allocating resources to defend targets from attack is often complicated by uncertainty about the attacker’s capabilities, objectives, or other underlying characteristics. In a repeated interaction setting, the defender can collect attack data over time to reduce this uncertainty and learn an effective defense. However, a clever attacker can manipulate the attack data to mislead the defender, influencing the learning process toward its own benefit. We investigate strategic deception on the part of an attacker with private type information, who interacts repeatedly with a defender. We present a detailed computation and analysis of both players’ optimal strategies given the attacker may …


Successor Features Based Multi-Agent Rl For Event-Based Decentralized Mdps, Tarun Gupta, Akshat Kumar, Praveen Paruchuri Jan 2019

Successor Features Based Multi-Agent Rl For Event-Based Decentralized Mdps, Tarun Gupta, Akshat Kumar, Praveen Paruchuri

Research Collection School Of Computing and Information Systems

Decentralized MDPs (Dec-MDPs) provide a rigorous framework for collaborative multi-agent sequential decisionmaking under uncertainty. However, their computational complexity limits the practical impact. To address this, we focus on a class of Dec-MDPs consisting of independent collaborating agents that are tied together through a global reward function that depends upon their entire histories of states and actions to accomplish joint tasks. To overcome scalability barrier, our main contributions are: (a) We propose a new actor-critic based Reinforcement Learning (RL) approach for event-based Dec-MDPs using successor features (SF) which is a value function representation that decouples the dynamics of the environment from …


A Machine Learning Recommender Model For Ride Sharing Based On Rider Characteristics And User Threshold Time, Govind Pramod Yatnalkar Jan 2019

A Machine Learning Recommender Model For Ride Sharing Based On Rider Characteristics And User Threshold Time, Govind Pramod Yatnalkar

Theses, Dissertations and Capstones

In the present age, human life is prospering incredibly due to the 4th Industrial Revolution or The Age of Digitization and Computing. The ubiquitous availability of the Internet and advanced computing systems have resulted in the rapid development of smart cities. From connected devices to live vehicle tracking, technology is taking the field of transportation to a new level. An essential part of the transportation domain in smart cities is Ride Sharing. It is an excellent solution to issues like pollution, traffic, and the rapid consumption of fuel. Even though Ride Sharing has several benefits, the current usage is …


What People Complain About Drone Apps? A Large-Scale Empirical Study Of Google Play Store Reviews, Kanimozhi Kalaichelvan Jan 2019

What People Complain About Drone Apps? A Large-Scale Empirical Study Of Google Play Store Reviews, Kanimozhi Kalaichelvan

Theses, Dissertations and Capstones

Within the past few years, there has been a tremendous increase in the number of UAVs (Unmanned Aerial Vehicle) or drones manufacture and purchase. It is expected to proliferate further, penetrating into every stream of life, thus making its usage inevitable. The UAV’s major components are its physical hardware and programming software, which controls its navigation or performs various tasks based on the field of concern. The drone manufacturers launch the controlling app for the drones in mobile app stores. A few drone manufacturers also release development kits to aid drone enthusiasts in developing customized or more creative apps. Thus, …


A Semester Long Classroom Course Mimicking A Software Company And A New Hire Experience For Computer Science Students Preparing To Enter The Software Industry, David A. Chamberlain Jan 2019

A Semester Long Classroom Course Mimicking A Software Company And A New Hire Experience For Computer Science Students Preparing To Enter The Software Industry, David A. Chamberlain

Master’s Theses and Projects

Students in a Computer Science degree programs must learn to code before they can be taught Software Engineering skills. This core skill set is how to program and consists of the constructs of various languages, how to create short programs or applications, independent assignments, and arrive at solutions that utilize the skills being covered in the language for that course (Chatley & Field, 2017). As an upperclassman, students will often be allowed to apply these skills in newer ways and have the opportunity to work on longer, more involved assignments although frequently still independent or in small groups of two …


Augustana Stories, Maegan Patterson Jan 2019

Augustana Stories, Maegan Patterson

Honors Program: Student Scholarship & Creative Works

This is an Android app that describes the history and urban legends of Augustana’s campus. There are several stories that can be accessed from a list or from a map feature that shows where the buildings are on campus. The map is also capable of giving an order in which to visit the buildings if the user decides to take a tour of the campus. The app is written in Java and the stories are housed in webpages.


Evaluating Software Testing Techniques: A Systematic Mapping Study, Mitchell Mayeda Jan 2019

Evaluating Software Testing Techniques: A Systematic Mapping Study, Mitchell Mayeda

Electronic Theses and Dissertations

Software testing techniques are crucial for detecting faults in software and reducing the risk of using it. As such, it is important that we have a good understanding of how to evaluate these techniques for their efficiency, scalability, applicability, and effectiveness at finding faults. This thesis enhances our understanding of testing technique evaluations by providing an overview of the state of the art in research. To accomplish this we utilize a systematic mapping study; structuring the field and identifying research gaps and publication trends. We then present a small case study demonstrating how our mapping study can be used to …


Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann Jan 2019

Programming Safety Tips: Why You Should Use Immutable Objects Or How To Create Programs With Bugs That Can Never Be Found Or Fixed., Charles W. Kann

Programming Tips and Tricks

Program safety deals with how to make programs as error free as possible. The hardest errors in a program for a programmer to find are often errors in using memory. There are two reasons for this. The first is that errors in accessing memory almost never show problems in the proximate area of the program where the error is made. The error has no apparent impact when it is made, but often causes catastrophic results to occur much later in the program, in areas of the program unrelated to memory error that caused it.

The second reason memory errors are …


Deep Learning: Edge-Cloud Data Analytics For Iot, Katarina Grolinger, Ananda M. Ghosh Jan 2019

Deep Learning: Edge-Cloud Data Analytics For Iot, Katarina Grolinger, Ananda M. Ghosh

Electrical and Computer Engineering Publications

Sensors, wearables, mobile and other Internet of Thing (IoT) devices are becoming increasingly integrated in all aspects of our lives. They are capable of collecting massive quantities of data that are typically transmitted to the cloud for processing. However, this results in increased network traffic and latencies. Edge computing has a potential to remedy these challenges by moving computation physically closer to the network edge where data are generated. However, edge computing does not have sufficient resources for complex data analytics tasks. Consequently, this paper investigates merging cloud and edge computing for IoT data analytics and presents a deep learning-based …


Reducing The Large Class Code Smell By Applying Design Patterns, Bayan Turkistani Jan 2019

Reducing The Large Class Code Smell By Applying Design Patterns, Bayan Turkistani

Electronic Theses and Dissertations

Software systems need continuous developing to cope and keep up with everchanging requirements. Source code quality affects the software development costs. In software refactoring object-oriented systems, Large Class, in particular, hinder the maintenance of a system by letting it difficult for software developers to understand and perform modifications. Also, it is making the development process labor-intensive and time-wasting. Reducing the Large Class code smell by applying design patterns can make the refactoring process more manageable, ease developing the system and decrease the effort required for the maintaining of software. To guarantee object-oriented software stays clear to read, understand and modify …


How Team Awareness Influences Perceptions Of Developer Productivity, Christoph Treude, Fernando Figueira Filho Jan 2019

How Team Awareness Influences Perceptions Of Developer Productivity, Christoph Treude, Fernando Figueira Filho

Research Collection School Of Computing and Information Systems

In their day-to-day work, software developers perform many different activities: they use numerous tools to develop software artifacts ranging from source code and models to documentation and test cases, they use other tools to manage and coordinate their development work, and they spend a substantial amount of time communicating and exchanging knowledge with other members on their teams and the larger software development community. Making sense of this flood of activity and information is becoming harder with every new artifact created. Yet, being aware of all relevant information in a software project is crucial to enable productivity in software development.


Preface To The Special Issue On Program Comprehension, David Lo, Alexander Serebrenik Jan 2019

Preface To The Special Issue On Program Comprehension, David Lo, Alexander Serebrenik

Research Collection School Of Computing and Information Systems

We are delighted to present a selection of the best papers presented at the 25th IEEE International Conference on Program Comprehension (ICPC 2017) that took place in Buenos Aires, Argentina. The program committee has received 83 submissions originating from 97 abstracts and co-authored by researchers from 26 countries from Africa, Asia, Europe, North and South America and Oceania. This is more than double of the 39 submissions received back in 2000. To select the papers for the special issue the PC chairs have selected the top five papers with the highest ratings from the reviewers. Each of these papers receives …


Snap Scholar: The User Experience Of Engaging With Academic Research Through A Tappable Stories Medium, Ieva Burk Jan 2019

Snap Scholar: The User Experience Of Engaging With Academic Research Through A Tappable Stories Medium, Ieva Burk

CMC Senior Theses

With the shift to learn and consume information through our mobile devices, most academic research is still only presented in long-form text. The Stanford Scholar Initiative has explored the segment of content creation and consumption of academic research through video. However, there has been another popular shift in presenting information from various social media platforms and media outlets in the past few years. Snapchat and Instagram have introduced the concept of tappable “Stories” that have gained popularity in the realm of content consumption.

To accelerate the growth of the creation of these research talks, I propose an alternative to video: …


Artificial Intelligence In The Aviation Manufacturing Process For Complex Assemblies And Components, Elena Vishnevskaya, Ian Mcandrew, Michael Johnson Jan 2019

Artificial Intelligence In The Aviation Manufacturing Process For Complex Assemblies And Components, Elena Vishnevskaya, Ian Mcandrew, Michael Johnson

Publications

Aviation manufacturing is at the leading edge of technology with materials, designs and processes where automation is not only integral; but complex systems require more advanced systems to produce and verify processes. Critical Infrastructure theory is now used to protect systems and equipment from external software infections and cybersecurity techniques add an extra layer of protection. In this research, it is argued that Artificial Intelligence can reduce these risks and allow complex processes to be less exposed to the threat of external problems, internal errors or mistakes in operation.


Confprofitt: A Configuration-Aware Performance Profiling, Testing, And Tuning Framework, Xue Han Jan 2019

Confprofitt: A Configuration-Aware Performance Profiling, Testing, And Tuning Framework, Xue Han

Theses and Dissertations--Computer Science

Modern computer software systems are complicated. Developers can change the behavior of the software system through software configurations. The large number of configuration option and their interactions make the task of software tuning, testing, and debugging very challenging. Performance is one of the key aspects of non-functional qualities, where performance bugs can cause significant performance degradation and lead to poor user experience. However, performance bugs are difficult to expose, primarily because detecting them requires specific inputs, as well as specific configurations. While researchers have developed techniques to analyze, quantify, detect, and fix performance bugs, many of these techniques are not …


Learning To Map The Visual And Auditory World, Tawfiq Salem Jan 2019

Learning To Map The Visual And Auditory World, Tawfiq Salem

Theses and Dissertations--Computer Science

The appearance of the world varies dramatically not only from place to place but also from hour to hour and month to month. Billions of images that capture this complex relationship are uploaded to social-media websites every day and often are associated with precise time and location metadata. This rich source of data can be beneficial to improve our understanding of the globe. In this work, we propose a general framework that uses these publicly available images for constructing dense maps of different ground-level attributes from overhead imagery. In particular, we use well-defined probabilistic models and a weakly-supervised, multi-task training …


Developmental Test And Requirements Best Practices Of Successful Information Systems Efforts Using Agile Methods, Jeremy D. Kramer, Torrey J. Wagner Jan 2019

Developmental Test And Requirements Best Practices Of Successful Information Systems Efforts Using Agile Methods, Jeremy D. Kramer, Torrey J. Wagner

Faculty Publications

This article provides insights into the current state of developmental testing (DT) and requirements management in Department of Defense information systems employing Agile development. The authors describe the study methodology and provide an overview of Agile development and testing. Insights are described for requirements, detailed planning, test execution, and reporting. This work articulates best practices related to DT and requirements management strategies for programs employing modernized Software Development Life Cycle practices.


Bridging Act-R And Project Malmo, Developing Models Of Behavior In Complex Environments, David M. Schwartz Jan 2019

Bridging Act-R And Project Malmo, Developing Models Of Behavior In Complex Environments, David M. Schwartz

Honors Theses

Cognitive architectures such as ACT-R provide a system for simulating the mind and human behavior. On their own they model decision making of an isolated agent. However, applying a cognitive architecture to a complex environment yields more interesting results about how people make decisions in more realistic scenarios. Furthermore, cognitive architectures enable researchers to study human behavior in dangerous tasks which cannot be tested because they would harm participants. Nonetheless, these architectures aren’t commonly applied to such environments as they don’t come with one. It is left to the researcher to develop a task environment for their model. The difficulty …


Building Recommendation Systems, Orion Davis Jan 2019

Building Recommendation Systems, Orion Davis

Williams Honors College, Honors Research Projects

Recommendation systems are pieces of software that suggest new items to a user. There are many moving parts to these systems including data, the actual recommendation model, processing data and finally displaying data. This project explores the role each part plays in the overall system and how to develop a recommendation system for beer from scratch. This project highlights the algorithm behind the recommendations and a user facing Android application.


Basketball Charts, Kevin Lewis Jan 2019

Basketball Charts, Kevin Lewis

Williams Honors College, Honors Research Projects

The purpose of this project was to develop an interactive web application with access to a self-updating database of basketball statistics. This data would then be used to allow users to generate informative visuals about specific sets of players. Obtaining statistics from the National Basketball Association (NBA) for the 2018-19 season was the original target goal. By utilizing an open source and community driven API, this goal was successfully achieved. With the data in place, the development of the chart building tool that was intended to be the primary functionality of the web application could begin. Highcharts was used as …