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

Computer Engineering Commons

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

Software Engineering

Discipline
Institution
Publication Year
Publication
Publication Type
File Type

Articles 1 - 30 of 32

Full-Text Articles in Computer Engineering

Inclusion4eu: Co-Designing A Framework For Inclusive Software Design And Development, Dympna O'Sullivan, Emma Murphy, Andrea Curley, John Gilligan, Damian Gordon, Anna Becevel, Svetland Hensman, Mariana Rocha, Claudia Fernandez, Michael Collins, J. Paul Gibson, Gordana Dodig-Crnkovic, Gearoid Kearney, Sarah Boland Jan 2023

Inclusion4eu: Co-Designing A Framework For Inclusive Software Design And Development, Dympna O'Sullivan, Emma Murphy, Andrea Curley, John Gilligan, Damian Gordon, Anna Becevel, Svetland Hensman, Mariana Rocha, Claudia Fernandez, Michael Collins, J. Paul Gibson, Gordana Dodig-Crnkovic, Gearoid Kearney, Sarah Boland

Articles

Digital technology is now pervasive, however, not all groups have uniformly benefitted from technological changes and some groups have been left behind or digitally excluded. Comprehensive data from the 2017 Current Population Survey shows that older people and persons with disabilities still lag behind in computer and internet access. Furthermore unique ethical, privacy and safety implications exist for the use of technology for older persons and people with disabilities and careful reflection is required to incorporate these aspects, which are not always part of a traditional software lifecycle. In this paper we present the Inclusion4EU project that aims to co-design …


Personal Library Organization And Tracking Application (Plot), Katie Honsinger May 2022

Personal Library Organization And Tracking Application (Plot), Katie Honsinger

Honors Projects

This project is inspired by my family's gloriously unmanageable book collection. Its primary goal is to provide a simple way to track your book collection, to avoid double-buying and help disorganized book-lovers everywhere stay sane! You can also track where a particular book is physically (or at least, where it should be!). There are a few features I'd still like to implement, but mainly I want this app to stay simple so it is easy to use and maintain.


Reflecting On Recurring Failures In Iot Development, Dharun Anandayuvaraj, James C. Davis Jan 2022

Reflecting On Recurring Failures In Iot Development, Dharun Anandayuvaraj, James C. Davis

Department of Electrical and Computer Engineering Faculty Publications

As IoT systems are given more responsibility and autonomy, they offer greater benefits, but also carry greater risks. We believe this trend invigorates an old challenge of software engineering: how to develop high-risk software-intensive systems safely and securely under market pressures? As a first step, we conducted a systematic analysis of recent IoT failures to identify engineering challenges. We collected and analyzed 22 news reports and studied the sources, impacts, and repair strategies of failures in IoT systems. We observed failure trends both within and across application domains. We also observed that failure themes have persisted over time. To alleviate …


Dependencyvis: Helping Developers Visualize Software Dependency Information, Nathan Lui Jun 2021

Dependencyvis: Helping Developers Visualize Software Dependency Information, Nathan Lui

Master's Theses

The use of dependencies have been increasing in popularity over the past decade, especially as package managers such as JavaScript's npm has made getting these packages a simple command to run. However, while incidents such as the left-pad incident has increased awareness of how vulnerable relying on these packages are, there is still some work to be done when it comes to getting developers to take the extra research step to determine if a package is up to standards. Finding metrics of different packages and comparing them is always a difficult and time consuming task, especially since potential vulnerabilities are …


Analysis Of Human Affect And Bug Patterns To Improve Software Quality And Security, Md Rakibul Islam May 2020

Analysis Of Human Affect And Bug Patterns To Improve Software Quality And Security, Md Rakibul Islam

University of New Orleans Theses and Dissertations

The impact of software is ever increasing as more and more systems are being software operated. Despite the usefulness of software, many instances software failures have been causing tremendous losses in lives and dollars. Software failures take place because of bugs (i.e., faults) in the software systems. These bugs cause the program to malfunction or crash and expose security vulnerabilities exploitable by malicious hackers.

Studies confirm that software defects and vulnerabilities appear in source code largely due to the human mistakes and errors of the developers. Human performance is impacted by the underlying development process and human affects, such as …


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 …


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 …


Toward The Design And Implementation Of Traceability Engineering Tool Support, Subik Pokharel, Hassan Reza Jan 2019

Toward The Design And Implementation Of Traceability Engineering Tool Support, Subik Pokharel, Hassan Reza

Computer Science Faculty Publications

Requirements of a system keep on changing based on the need of stakeholders or the system developers, making requirement engineering an important aspect in software development. This develops a need for appropriate requirement change management. The importance of requirements traceability is defining relationships between the requirements and artefacts extracted by the stakeholder during the software development life-cycle and gives vital information to encourage software understanding. In this paper, we have concentrated on developing a tool for requirement traceability that can be used to extend the requirement elicitation and identification of system-wide qualities using the notion of quality attribute scenarios to …


A Comprehensive Framework To Replicate Process-Level Concurrency Faults, Supat Rattanasuksun Nov 2018

A Comprehensive Framework To Replicate Process-Level Concurrency Faults, Supat Rattanasuksun

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Concurrency faults are one of the most damaging types of faults that can affect the dependability of today’s computer systems. Currently, concurrency faults such as process-level races, order violations, and atomicity violations represent the largest class of faults that has been reported to various Linux bug repositories. Clearly, existing approaches for testing such faults during software development processes are not adequate as these faults escape in-house testing efforts and are discovered during deployment and must be debugged.

The main reason concurrency faults are hard to test is because the conditions that allow these to occur can be difficult to replicate, …


Towards Domain-Specific Modeling Methodology For Avionic Safety-Critical Systems, Emanuel S. Grant Jul 2018

Towards Domain-Specific Modeling Methodology For Avionic Safety-Critical Systems, Emanuel S. Grant

Computer Science Faculty Publications

The use of domain-specific modeling languages and associated methodologies, provide support in application domain where the safe and reliable operations of the systems are of paramount importance to the users and organizations, and wherein the domains are well understood and documented. One such area of domain-specific modeling application is in the field of avionic systems. For software systems to be used onboard aircrafts they must be certified, and as such certification protocols have been established for developing these safety-critical systems. These established protocols are usually represented as textual documents and inherently are difficult to apply directly in software development environments. …


Assessing The Quality And Stability Of Recommender Systems, David Shriver May 2018

Assessing The Quality And Stability Of Recommender Systems, David Shriver

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Recommender systems help users to find products they may like when lacking personal experience or facing an overwhelmingly large set of items. However, assessing the quality and stability of recommender systems can present challenges for developers. First, traditional accuracy metrics, such as precision and recall, for validating the quality of recommendations, offer only a coarse, one-dimensional view of the system performance. Second, assessing the stability of a recommender systems requires generating new data and retraining a system, which is expensive. In this work, we present two new approaches for assessing the quality and stability of recommender systems to address these …


Pedagogical Benefits From An Exercise In Reverse Engineering For An Aviation Software Systems, Emanuel S. Grant, Pann Ajjimaporn Jan 2018

Pedagogical Benefits From An Exercise In Reverse Engineering For An Aviation Software Systems, Emanuel S. Grant, Pann Ajjimaporn

Computer Science Faculty Publications

Since the Y2K crisis, reverse engineering has become a major area of work in industrial software application development, but lacks emphasis in US academia. This issue is exemplified by the high demand for software systems in new and expanding software application areas, which has resulted in systems being implemented before the requirements and design phases have been completed. Towards the maintenance of such systems, it is necessary to conducted reverse engineering for the derivation of software documentation for requirements and high-level and low-level design. When this scenario exists in the domain of safety-critical system, particularly in the aviation industry, reverse …


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 …


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

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

Department of Computer Science and Engineering: 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 …


Fulfilling A Restful Commitment: Test-Suite Generation For Swagger-Based Rest Apis, Noah Dietz Jun 2016

Fulfilling A Restful Commitment: Test-Suite Generation For Swagger-Based Rest Apis, Noah Dietz

Computer Science and Software Engineering

An application programming interface (API) can be the most integral part of a product or service. APIs drive businesses and innovation in all aspects of technology and they rely on descriptive frameworks to detail what they have to offer. These descriptive frameworks are a rich source of information on a variety of levels, such as usage, best-practices and even basic implications towards the underlying implementation. The motivation of this project during my internship was to exploit this wealth of information in order to create a description-based, or contract-based, unit test generation tool specifically for Swagger-based REST APIs and to encourage …


Interactive Teachable Cognitive Agents: Smart Building Blocks For Multiagent Systems, Budhitama Subagdja, Ah-Hwee Tan Mar 2016

Interactive Teachable Cognitive Agents: Smart Building Blocks For Multiagent Systems, Budhitama Subagdja, Ah-Hwee Tan

Research Collection School Of Computing and Information Systems

Developing a complex intelligent system by abstracting their behaviors, functionalities, and reasoning mechanisms can be tedious and time consuming. In this paper, we present a framework for developing an application or software system based on smart autonomous components that collaborate with the developer or user to realize the entire system. Inspired by teachable approaches and programming-by-demonstration methods in robotics and end-user development, we treat intelligent agents as teachable components that make up the system to be built. Each agent serves different functionalities and may have prebuilt operations to accomplish its own design objectives. However, each agent may also be equipped …


Towards Real-Time, On-Board, Hardware-Supported Sensor And Software Health Management For Unmanned Aerial Systems, Johann M. Schumann, Kristin Y. Rozier, Thomas Reinbacher, Ole J. Mengshoel, Timmy Mbaya, Corey Ippolito Jun 2015

Towards Real-Time, On-Board, Hardware-Supported Sensor And Software Health Management For Unmanned Aerial Systems, Johann M. Schumann, Kristin Y. Rozier, Thomas Reinbacher, Ole J. Mengshoel, Timmy Mbaya, Corey Ippolito

Ole J Mengshoel

For unmanned aerial systems (UAS) to be successfully deployed and integrated within the national airspace, it is imperative that they possess the capability to effectively complete their missions without compromising the safety of other aircraft, as well as persons and property on the ground. This necessity creates a natural requirement for UAS that can respond to uncertain environmental conditions and emergent failures in real-time, with robustness and resilience close enough to those of manned systems. We introduce a system that meets this requirement with the design of a real-time onboard system health management (SHM) capability to continuously monitor sensors, software, …


Evaluation Of An Architectural-Level Approach For Finding Security Vulnerabilities, Mohammad Anamul Haque Jan 2015

Evaluation Of An Architectural-Level Approach For Finding Security Vulnerabilities, Mohammad Anamul Haque

Wayne State University Theses

The cost of security vulnerabilities of a software system is high. As a result,

many techniques have been developed to find the vulnerabilities at development time. Of particular interest are static analysis techniques that can consider all possible executions of a system. But, static analysis can suffer from a large number of false positives.

A recently developed approach, Scoria, is a semi-automated static analysis that requires security architects to annotate the code, typecheck the annotations, extract a hierarchical object graph and write constraints in order to find security vulnerabilities in a system.

This thesis evaluates Scoria on three systems (sizes …


Advances In Technology Project Management: Review Of Open Source Software Integration, Maurice Dawson, Brian Leonard, Emad Rahim Dec 2014

Advances In Technology Project Management: Review Of Open Source Software Integration, Maurice Dawson, Brian Leonard, Emad Rahim

Maurice Dawson

As organizations must continually drive down costs of software-driven projects, they need to evaluate the Systems Development Life Cycle (SDLC) and other software-based design methodologies. These methodologies include looking at software-based alternatives that could save a significant amount of money by reducing the amount of proprietary software. This chapter explores the use and integration of Open Source Software (OSS) in software-driven projects to include in enterprise organizations. Additionally, the legalities of the GNU General Public License (GPL), Lesser General Public License (LGPL), Berkeley Software Distribution (BSD), and Creative Commons are explored with the integration of these OSS solutions into organizations. …


Software Group Of The Openorbiter Project, Christoffer Korvald, Jeremy Straub Mar 2014

Software Group Of The Openorbiter Project, Christoffer Korvald, Jeremy Straub

Jeremy Straub

This poster provides an update regarding software development work for the OpenOrbiter project. The software development effort for the OpenOrbiter project currently consists of four teams: payload software development, operating software development, ground station software development and testing. The teams are designing and developing the software needed to create and operate a small spacecraft which can be produced for under USD $5,000 by students, faculty and others around the world. Participating students are gaining valuable real-world experience through the process of designing and developing the spacecraft. Each team is headed by a team lead that is responsible for conducting weekly …


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

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

Luiz Fernando Capretz

No abstract provided.


Personality Types In Software Engineering, Luiz Capretz Jul 2013

Personality Types In Software Engineering, Luiz Capretz

Luiz Fernando Capretz

No abstract provided.


Adaptive Control Of Apache Web Server, Erik Reed, Abe Ishihara, Ole J. Mengshoel May 2013

Adaptive Control Of Apache Web Server, Erik Reed, Abe Ishihara, Ole J. Mengshoel

Ole J Mengshoel

Traffic to a Web site can vary dramatically. At the same time it is highly desirable that a Web site is reactive. To provide crisp interaction on thin clients, 150 milliseconds has been suggested as an upper bound on response time. Unfortunately, the popular Apache Web server is limited in its capabilities to be reactive under varying traffic. To address this problem, we design in this paper an adaptive controller for the Apache Web server. A modified recursive least squares algorithm is used to identify system dynamics and a minimum degree pole placement controller is implemented to adjust the maximum …


Model-Based Software Engineering For An Imaging Cubesat And Its Extrapolation To Other Missions, Atif Mohammad, Jeremy Straub, Christoffer Korvald, Emanuel Grant Mar 2013

Model-Based Software Engineering For An Imaging Cubesat And Its Extrapolation To Other Missions, Atif Mohammad, Jeremy Straub, Christoffer Korvald, Emanuel Grant

Jeremy Straub

Small satellites with their limited computational capabilities require that software engineering techniques promote efficient use of spacecraft resources. A model-driven approach to software engineering is an excellent solution to this resource maximization challenge as it facilitates visualization of the key solution processes and data elements.

The software engineering process utilized for the OpenOrbiter spacecraft, which is a remote sensing technology demonstrator, is presented. Key challenges presented by the Open Orbiter project included concurrent operation and tasking of five computer-on-module (COM) units and a flight computer and the associated data marshaling between local and general storage. The payload processing system (consisting …


Applying Mobile Application Development To Help Dementia And Alzheimer Patients, Jean F. Coppola Phd, Marc A. Kowtko, Christina Yamagata, Shannon Joyce Jan 2013

Applying Mobile Application Development To Help Dementia And Alzheimer Patients, Jean F. Coppola Phd, Marc A. Kowtko, Christina Yamagata, Shannon Joyce

Wilson Center for Social Entrepreneurship

Caregiver anecdotes attest that music and photographs play an important role for family members diagnosed with Alzheimer’s disease (AD), even those with severe AD. Tablets and iPads, which are prevalent, can be utilized with dementia patients in portraying favorite music and family photographs via apps developed in close partnership with geriatric facilities. This study addresses cognitive functioning and quality of life for people diagnosed with dementia via technology. Research has shown that technology instruments such as iPods, help stimulate those with dementia. This study focuses on innovative devices such as iPads and tablets, which are mainstream and easy to use, …


Directed Test Suite Augmentation, Zhihong Xu Jan 2013

Directed Test Suite Augmentation, Zhihong Xu

Department of Computer Science and Engineering: Dissertations, Theses, and Student Research

Test suite augmentation techniques are used in regression testing to identify code elements affected by changes and to generate test cases to cover those elements. Whereas methods and techniques to find affected elements have been extensively researched in regression testing, the problem of generating new test cases to cover these elements cost-effectively has rarely been studied. We believe that reusing existing test cases will help us achieve this task. This research develops test suite augmentation techniques that reuse existing test cases to automatically generate new test cases to cost-effectively cover affected elements. We begin by using two dynamic test case …


Software Engineering Issues For Mobile Application Development, Tony Wasserman Oct 2010

Software Engineering Issues For Mobile Application Development, Tony Wasserman

Tony Wasserman

This paper provides an overview of important software engineering research issues related to the development of applications that run on mobile devices. Among the topics are development processes, tools, user interface design, application portability, quality, and security.


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.


Transformation Of Object-Oriented Associations And Embedded References To Them, Sneha Swamy Jan 2008

Transformation Of Object-Oriented Associations And Embedded References To Them, Sneha Swamy

Browse all Theses and Dissertations

AFIT Wide Spectrum Object Modeling Environment (AWSOME) automatically generates executable code by applying transforms to the formal specifications developed from the domain knowledge. AWSOME uses the specification language called as AFIT Wide Spectrum Language (AWL). All the transforms developed for AWSOME depend on and manipulate Abstract Syntax Trees (ASTs) created by parsing the formal specifications of a model. The main idea is to speed the process of creating error free code, to aid reusability of code and also to make the maintenance changes to be consistent and correct. The AWSOME metamodel contains the structural (object) model, the functional (operations) model …