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

Software Engineering Commons™

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

Software Engineering

Discipline
Institution
Publication Year
Publication
Publication Type

Articles 31 - 60 of 62

Full-Text Articles in Software Engineering

Can We Make It Better? Assessing And Improving Quality Of Github Repositories, Gede Artha Azriadi Prana Nov 2021

Can We Make It Better? Assessing And Improving Quality Of Github Repositories, Gede Artha Azriadi Prana

Dissertations and Theses Collection (Open Access)

The code hosting platform GitHub has gained immense popularity worldwide in recent years, with over 200 million repositories hosted as of June 2021. Due to its popularity, it has great potential to facilitate widespread improvements across many software projects. Naturally, GitHub has attracted much research attention, and the source code in the various repositories it hosts also provide opportunity to apply techniques and tools developed by software engineering researchers over the years. However, much of existing body of research applicable to GitHub focuses on code quality of the software projects and ways to improve them. Fewer work focus on potential …


Modernizing Legacy Business Practices And Maintaining Backwards Compatibility When Replacing Legacy Software, Thomas Hillebrandt May 2021

Modernizing Legacy Business Practices And Maintaining Backwards Compatibility When Replacing Legacy Software, Thomas Hillebrandt

Honors Program: Senior Projects (Public)

As technology advances and hardware as well as user expectations becomes more advanced, software systems must change alongside or go obsolete. When software is no longer developed, decisions must be made regarding its future. Through various methods, legacy software may continue to see usage far past its obsolescence, however legacy software will sooner or later face replacement by new applications, built for state-of-the-art machines, to comply with modern requirements. When writing new software to replace older programs, the added challenge for developers is to help the client also modernize their workflow. When a program has been in long time use …


Proximity-Based Video Communication With Cocktailparty, Addison Fabry, William Heffernan, Andrew Shroyer Apr 2021

Proximity-Based Video Communication With Cocktailparty, Addison Fabry, William Heffernan, Andrew Shroyer

Senior Theses

CocktailParty is a video communication application designed to uniquely and efficiently solve the problems faced by traditional online video communication. The proposal for this start-up project was accepted in August 2020. CocktailParty enables users to join a video chat room overlayed on top of a virtual house, in which each user can move their own video feed around the house. Each room in each house layout hosts a different video call, allowing users to easily host large virtual gatherings that facilitate multiple conversations taking place simultaneously. This functionality makes important steps towards effective simulation of the real-life gathering experience.


Best Practices In Industry And Cse Senior Design, Conner Hallett Apr 2021

Best Practices In Industry And Cse Senior Design, Conner Hallett

Honors Program: Senior Projects (Public)

The widespread use of Agile practices in the software development industry creates the need for new college graduates to be adept in Agile processes and teams. The University of Nebraska-Lincoln’s Computer Science and Engineering (CSE) Senior Design courses gives students an introduction to such processes, but is met with many challenges in doing so, such as time constraints and student inexperience. Following a detailed look at the Scrum Agile framework and its expanded practices in industry, potential improvements for CSE Senior Design’s practice of Agile are suggested. These include the creation of resource forums for students to accelerate the early …


Using Taint Analysis And Reinforcement Learning (Tarl) To Repair Autonomous Robot Software, Damian Lyons, Saba Zahra May 2020

Using Taint Analysis And Reinforcement Learning (Tarl) To Repair Autonomous Robot Software, Damian Lyons, Saba Zahra

Faculty Publications

It is important to be able to establish formal performance bounds for autonomous systems. However, formal verification techniques require a model of the environment in which the system operates; a challenge for autonomous systems, especially those expected to operate over longer timescales. This paper describes work in progress to automate the monitor and repair of ROS-based autonomous robot software written for an a-priori partially known and possibly incorrect environment model. A taint analysis method is used to automatically extract the data-flow sequence from input topic to publish topic, and instrument that code. A unique reinforcement learning approximation of MDP utility …


Information Retrieval-Based Optimization Approaches For Requirement Traceability Recovery, Danissa Victoria Rodriguez Caraballo Apr 2020

Information Retrieval-Based Optimization Approaches For Requirement Traceability Recovery, Danissa Victoria Rodriguez Caraballo

LSU Doctoral Dissertations

Requirements traceability provides support for important software engineering activities. Requirements traceability recovery (RTR) is becoming increasingly important due to the numerous benefits to the overall quality of software. Improving the RTR problem has become an active topic of research for software engineers; researchers have proposed a number of approaches for improving and automating RTR across the requirements and the source code of the system. Textual analysis and Information Retrieval (IR) techniques have been applied to the RTR problem for many years; however, most of the existing IR-based methodologies applied to the RTR problem are semiautomatic or time-consuming, even though many …


Sieve: Helping Developers Sift Wheat From Chaff Via Cross-Platform Analysis, Agus Sulistya, Gede A. A. P. Prana, David Lo, Christoph Treude Oct 2019

Sieve: Helping Developers Sift Wheat From Chaff Via Cross-Platform Analysis, Agus Sulistya, Gede A. A. P. Prana, David Lo, Christoph Treude

Research Collection School Of Computing and Information Systems

Software developers have benefited from various sources of knowledge such as forums, question-and-answer sites, and social media platforms to help them in various tasks. Extracting software-related knowledge from different platforms involves many challenges. In this paper, we propose an approach to improve the effectiveness of knowledge extraction tasks by performing cross-platform analysis. Our approach is based on transfer representation learning and word embedding, leveraging information extracted from a source platform which contains rich domain-related content. The information extracted is then used to solve tasks in another platform (considered as target platform) with less domain-related content. We first build a word …


Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall Jul 2019

Towards Lakosian Multilingual Software Design Principles, Damian Lyons, Saba Zahra, Thomas Marshall

Faculty Publications

Large software systems often comprise programs written in different programming languages. In the case when cross-language interoperability is accomplished with a Foreign Function Interface (FFI), for example pybind11, Boost.Python, Emscripten, PyV8, or JNI, among many others, common software engineering tools, such as call-graph analysis, are obstructed by the opacity of the FFI. This complicates debugging and fosters potential inefficiency and security problems. One contributing issue is that there is little rigorous software design advice for multilingual software. In this paper, we present our progress towards a more rigorous design approach to multilingual software. The approach is based on the existing …


Snoring: A Noise Defect Prediction Datasets, Aalok Ahluwalia Jun 2019

Snoring: A Noise Defect Prediction Datasets, Aalok Ahluwalia

Master's Theses

Defect prediction aims at identifying software artifacts that are likely to exhibit a defect. The main purpose of defect prediction is to reduce the cost of testing and code review, by letting developers focus on specific artifacts. Several researchers have worked on improving the accuracy of defect estimation models using techniques such as tuning, re-balancing, or feature selection. Ultimately, the reliability of a prediction model depends on the quality of the dataset. Therefore effort has been spent in identifying sources of noise in the datasets, and how to deal with them, including defect misclassification and defect origin. A key component …


Assessing The Quality Of Software Development Tutorials Available On The Web, Manziba A. Nishi Jan 2019

Assessing The Quality Of Software Development Tutorials Available On The Web, Manziba A. Nishi

Theses and Dissertations

Both expert and novice software developers frequently access software development resources available on the Web in order to lookup or learn new APIs, tools and techniques. Software quality is affected negatively when developers fail to find high-quality information relevant to their problem. While there is a substantial amount of freely available resources that can be accessed online, some of the available resources contain information that suffers from error proneness, copyright infringement, security concerns, and incompatible versions. Use of such toxic information can have a strong negative effect on developer’s efficacy. This dissertation focuses specifically on software tutorials, aiming to automatically …


Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird Jul 2018

Lightweight Call-Graph Construction For Multilingual Software Analysis, Anne-Marie Bogar, Damian Lyons, David Baird

Faculty Publications

Analysis of multilingual codebases is a topic of increasing importance. In prior work, we have proposed the MLSA (MultiLingual Software Analysis) architecture, an approach to the lightweight analysis of multilingual codebases, and have shown how it can be used to address the challenge of constructing a single call graph from multilingual software with mutual calls. This paper addresses the challenge of constructing monolingual call graphs in a lightweight manner (consistent with the objective of MLSA) which nonetheless yields sufficient information for resolving language interoperability calls. A novel approach is proposed which leverages information from …


Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird Jul 2018

Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird

Faculty Publications

Large software systems can often be multilingual – that is, software systems are written in more than one language. However, many popular software engineering tools are monolingual by nature. Nonetheless, companies are faced with the need to manage their large, multilingual codebases to address issues with security, efficiency, and quality metrics. This paper presents a novel lightweight approach to multilingual software analysis – MLSA. The approach is modular and focused on efficient static analysis computation for large codebases. One topic is addressed in detail – the generation of multilingual call graphs to identify language boundary problems in multilingual code. The …


An Algorithmic Approach To Creating Effective Study Groups Using A Smart Phone App, Kelvin J. Rosado-Ayala Jul 2018

An Algorithmic Approach To Creating Effective Study Groups Using A Smart Phone App, Kelvin J. Rosado-Ayala

Honors College Theses

For many students entering college, meeting new people and studying are a common struggle. Study groups are generally recommended, especially if the groups are comprised of members with complementary personality traits. But the challenge still remains, how do freshmen or transfer students find and form these heterogeneous study groups. In order to help alleviate this issue, an Android application was developed to automatically create study groups for students. Using basic information provided by students upon registration, the algorithm is able to automatically find matching group members. The application was designed using an agile life cycle model over the course of …


Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird Jul 2018

Lightweight Multilingual Software Analysis, Damian Lyons, Anne Marie Bogar, David Baird

Faculty Publications

Developer preferences, language capabilities and the persistence of older languages contribute to the trend that large software codebases are often multilingual – that is, written in more than one computer language. While developers can leverage monolingual software development tools to build software components, companies are faced with the problem of managing the resultant large, multilingual codebases to address issues with security, efficiency, and quality metrics. The key challenge is to address the opaque nature of the language interoperability interface: one language calling procedures in a second (which may call a third, or even back to the first), resulting in a …


Analysing Popularity Of Software Testing Careers In Canada, Luiz Fernando Capretz, Pradeep Waychal, Sachin Pardeshi Jun 2018

Analysing Popularity Of Software Testing Careers In Canada, Luiz Fernando Capretz, Pradeep Waychal, Sachin Pardeshi

Electrical and Computer Engineering Publications

Software testing is critical to prevent software failures. Therefore, research has been carried out in testing but that is largely limited to the processand technology dimensions and has not sufficiently addressed the human dimension. Even though there are reports about inadequacies of testing professionals and their skills, only a few studies have tackled the problem. Therefore, we decided to explore the human dimension. We started with the basic problem that plagues the testing profession, the shortage of talent, by asking why do students and professionals are reluctant to consider testing careers, what can be done about that, and is the …


Applications Of Varying Leadership Structures For Software Engineering Teams, Elliot Sandfort May 2018

Applications Of Varying Leadership Structures For Software Engineering Teams, Elliot Sandfort

Honors Program: Senior Projects (Public)

This thesis explores the similarities and differences between applications of managing software engineering teams in Design Studio and the state of the practice. Information about the leadership structure of Design Studio teams was gathered over 3 semesters of Design Studio experiences with two companies: Hudl and TD Ameritrade. Information about leadership concepts in the state of the practice was gathered from experiences and observations with three different companies: Hudl, Garmin, and TD Ameritrade. From these experiences and observations, it can be concluded that the leadership structure of Design Studio is valuable as a student learning experience, and with proper consideration …


Universality Of Egoless Behavior Of Software Engineering Students, Pradeep Waychal, Luiz Fernando Capretz Jan 2018

Universality Of Egoless Behavior Of Software Engineering Students, Pradeep Waychal, Luiz Fernando Capretz

Electrical and Computer Engineering Publications

Software organizations have relied on process and technology initiatives to compete in a highly globalized world. Unfortunately, that has led to little or no success. We propose that the organizations start working on people initiatives, such as inspiring egoless behavior among software developers. This paper proposes a multi-stage approach to develop egoless behavior and discusses the universality of the egoless behavior by studying cohorts from three different countries, i.e., Japan, India, and Canada. The three stages in the approach are self-assessment, peer validation, and action plan development. The paper covers the first stage of self-assssment using an instrument based on …


Underwater Acoustic Signal Analysis Toolkit, Kirk Bienvenu Jr Dec 2017

Underwater Acoustic Signal Analysis Toolkit, Kirk Bienvenu Jr

LSU New Orleans Theses and Dissertations

This project started early in the summer of 2016 when it became evident there was a need for an effective and efficient signal analysis toolkit for the Littoral Acoustic Demonstration Center Gulf Ecological Monitoring and Modeling (LADC-GEMM) Research Consortium. LADC-GEMM collected underwater acoustic data in the northern Gulf of Mexico during the summer of 2015 using Environmental Acoustic Recording Systems (EARS) buoys. Much of the visualization of data was handled through short scripts and executed through terminal commands, each time requiring the data to be loaded into memory and parameters to be fed through arguments. The vision was to develop …


Would You Like To Motivate Software Testers? Ask Them How, Ronnie Santos, Cleyton Magalhaes, Jorge Correia-Neto, Fabio Queda Silva, Luiz Fernando Capretz, Rodrigo Souza Nov 2017

Would You Like To Motivate Software Testers? Ask Them How, Ronnie Santos, Cleyton Magalhaes, Jorge Correia-Neto, Fabio Queda Silva, Luiz Fernando Capretz, Rodrigo Souza

Electrical and Computer Engineering Publications

Considering the importance of software testing to the development of high quality and reliable software systems, this paper aims to investigate how can work-related factors influence the motivation of software testers. Method. We applied a questionnaire that was developed using a previous theory of motivation and satisfaction of software engineers to conduct a survey-based study to explore and understand how professional software testers perceive and value work-related factors that could influence their motivation at work. Results. With a sample of 80 software testers we observed that software testers are strongly motivated by variety of work, creative tasks, recognition for their …


Hybrid Based Approaches For Software Fault Localization And Specification Mining, Bui Tien Duy Le Jul 2017

Hybrid Based Approaches For Software Fault Localization And Specification Mining, Bui Tien Duy Le

Dissertations and Theses Collection

Debugging programs and writing formal specifications are essential but expensive processes to maintain quality and reliability of software systems. Developers often have to debug and create specifications manually, which take a lot of their time and effort. Recently, several automated solutions have been proposed to help developers alleviate the cost of manual labor in the two processes. In particular, fault localization techniques help developer debug by accepting textual information in bug reports or program spectra (i.e., a record of which program elements are executed for each test case). Their output is a ranked list of program elements that are likely …


Ui X-Ray: Interactive Mobile Ui Testing Based On Computer Vision, Chun-Fu Richard Chen, Marco Pistoia, Conglei Shi, Paolo Girolami, Joseph W. Ligman, Yong Wang Mar 2017

Ui X-Ray: Interactive Mobile Ui Testing Based On Computer Vision, Chun-Fu Richard Chen, Marco Pistoia, Conglei Shi, Paolo Girolami, Joseph W. Ligman, Yong Wang

Research Collection School Of Computing and Information Systems

User Interface/eXperience (UI/UX) significantly affects the lifetime of any software program, particularly mobile apps. A bad UX can undermine the success of a mobile app even if that app enables sophisticated capabilities. A good UX, however, needs to be supported of a highly functional and user friendly UI design. In spite of the importance of building mobile apps based on solid UI designs, UI discrepancies- inconsistencies between UI design and implementation-Are among the most numerous and expensive defects encountered during testing. This paper presents UI X-RAY, an interactive UI testing system that integrates computer-vision methods to facilitate the correction of …


Teaching Android Security Through Examples: A Publicly Available Database Of Vulnerable Apps, Daniel E. Krutz, Samuel A. Malachowsky Dec 2016

Teaching Android Security Through Examples: A Publicly Available Database Of Vulnerable Apps, Daniel E. Krutz, Samuel A. Malachowsky

Articles

Security is hard, and teaching security can be even harder. Here we describe a public educational activity to assist in the instruction of both students and developers in creating secure Android apps. Our set of activities includes example vulnerable applications, information about each vulnerability, steps on how to repair the vulnerabilities, and information about how to confirm that the vulnerability has been properly repaired. Our primary goal is to make these activities available to other instructors for use in their classrooms ranging from the K-12 to university settings. A secondary goal of this project is to foster interest in security …


Improving The Efficiency Of Ci With Uber-Commits, Matias Waterloo Aug 2016

Improving The Efficiency Of Ci With Uber-Commits, Matias Waterloo

School of Computing: Dissertations, Theses, and Student Research

Continuous Integration (CI) is a software engineering practice where developers break their coding tasks into small changes that can be integrated with the shared code repository on a frequent basis. The primary objectives of CI are to avoid integration problems caused by large change sets and to provide prompt developer feedback so that if a problem is detected, it can be easily and quickly resolved. In this thesis, we argue that while keeping changes small and integrating often is a wise approach for developers, the CI server may be more efficient operating on a different scale. In our approach, the …


Using Gamification As A Collaboration Motivator For Software Development Teams: A Preliminary Framework, Flavio Steffens, Sabrina Marczak, Fernando Figueira Filho, Christoph Treude, Leif Singer, David Redmiles, Ban Al-Ani Nov 2015

Using Gamification As A Collaboration Motivator For Software Development Teams: A Preliminary Framework, Flavio Steffens, Sabrina Marczak, Fernando Figueira Filho, Christoph Treude, Leif Singer, David Redmiles, Ban Al-Ani

Research Collection School Of Computing and Information Systems

Gamification is the use of game elements in non-game context to engage and to motivate people to achieve goals. Its use is becoming very popular in software development organizations due to work being based upon human-centric and brain-intensive activity. This paper presents the topics of collaboration and gamification in the context of software engineering, and proposes a framework that identifies the most common collaboration issues that affect software development teams, and how to apply game elements to motivate a change on their behaviors.


Using Statistical Methods To Determine Geolocation Via Twitter, Christopher M. Wright May 2014

Using Statistical Methods To Determine Geolocation Via Twitter, Christopher M. Wright

Masters Theses & Specialist Projects

With the ever expanding usage of social media websites such as Twitter, it is possible to use statistical inquires to form a geographic location of a person using solely the content of their tweets. According to a study done in 2010, Zhiyuan Cheng, was able to detect a location of a Twitter user within 100 miles of their actual location 51% of the time. While this may seem like an already significant find, this study was done while Twitter was still finding its ground to stand on. In 2010, Twitter had 75 million unique users registered, as of March 2013, …


Application Of Swarm And Reinforcement Learning Techniques To Requirements Tracing, Hakim Sultanov Jan 2013

Application Of Swarm And Reinforcement Learning Techniques To Requirements Tracing, Hakim Sultanov

Theses and Dissertations--Computer Science

Today, software has become deeply woven into the fabric of our lives. The quality of the software we depend on needs to be ensured at every phase of the Software Development Life Cycle (SDLC). An analyst uses the requirements engineering process to gather and analyze system requirements in the early stages of the SDLC. An undetected problem at the beginning of the project can carry all the way through to the deployed product.

The Requirements Traceability Matrix (RTM) serves as a tool to demonstrate how requirements are addressed by the design and implementation elements throughout the entire software development lifecycle. …


Software Engineering For The Mobile Application Market, Jacob Schwartz Apr 2012

Software Engineering For The Mobile Application Market, Jacob Schwartz

Honors Theses and Capstones

One of the goals of the current United States government is to lower healthcare costs. One of the solutions is to alter the behavior of the population to be more physically active and to eat healthier. This project will focus on the latter solution by writing applications for the Android and iOS mobile platforms that will allow a user to monitor their dietary intake to see and correct patterns in their eating behavior.


An Empirical Study On The Procedure To Derive Software Quality Estimation Models, Jie Xu, Danny Ho, Luiz Fernando Capretz Aug 2010

An Empirical Study On The Procedure To Derive Software Quality Estimation Models, Jie Xu, Danny Ho, Luiz Fernando Capretz

Electrical and Computer Engineering Publications

Software quality assurance has been a heated topic for several decades. If factors that influence software quality can be identified, they may provide more insight for better software development management. More precise quality assurance can be achieved by employing resources according to accurate quality estimation at the early stages of a project. In this paper, a general procedure is proposed to derive software quality estimation models and various techniques are presented to accomplish the tasks in respective steps. Several statistical techniques together with machine learning method are utilized to verify the effectiveness of software metrics. Moreover, a neuro-fuzzy approach is …


Making Sense Of Software Development And Personality Types, Luiz Fernando Capretz, Faheem Ahmed Dr. Jan 2010

Making Sense Of Software Development And Personality Types, Luiz Fernando Capretz, Faheem Ahmed Dr.

Electrical and Computer Engineering Publications

No abstract provided.


Fuzzy Inference System For Software Product Family Process Evaluation, Faheem Ahmed, Luiz Fernando Capretz, Jagath Samarabandu Jul 2008

Fuzzy Inference System For Software Product Family Process Evaluation, Faheem Ahmed, Luiz Fernando Capretz, Jagath Samarabandu

Electrical and Computer Engineering Publications

When developing multiple products within a common application domain, systematic use of a software product family process can yield increased productivity in cost, quality, effort and schedule. Such a process provides the means for the reuse of software assets which can considerably reduce the development time and the cost of software products. A comprehensive strategy for the evaluating the maturity of a software product family process is needed due to growing popularity of this concept in the software industry. In this paper, we propose a five-level maturity scale for software product family process. We also present a fuzzy inference system …