Open Access. Powered by Scholars. Published by Universities.®
- Discipline
-
- Engineering (10)
- Computer Engineering (9)
- Education (4)
- Gifted Education (4)
- Graphics and Human Computer Interfaces (4)
-
- Higher Education (4)
- Other Computer Sciences (4)
- Other Education (4)
- Databases and Information Systems (2)
- Environmental Sciences (2)
- Information Security (2)
- Life Sciences (2)
- Programming Languages and Compilers (2)
- Applied Behavior Analysis (1)
- Artificial Intelligence and Robotics (1)
- Bioinformatics (1)
- Biomedical Engineering and Bioengineering (1)
- Business (1)
- Cancer Biology (1)
- Cell and Developmental Biology (1)
- Climate (1)
- Data Science (1)
- Electrical and Computer Engineering (1)
- Environmental Monitoring (1)
- Forest Biology (1)
- Forest Management (1)
- Forest Sciences (1)
- Keyword
-
- Software Engineering (5)
- Software Development (4)
- Software Testing (4)
- Software engineering (3)
- Agile (2)
-
- Android (2)
- Computer Science (2)
- Security (2)
- Software Verification (2)
- .NET (1)
- Alloy (1)
- Animation (1)
- Assurance case (1)
- Audio (1)
- Automated program repair (1)
- Automated software test generation (1)
- Backwards Compatibility (1)
- Bug fix and introducing commits (1)
- CIT (1)
- Call center (1)
- Call flagging (1)
- Chat bot (1)
- Chemical Reaction (1)
- Climate Model (1)
- Code search (1)
- Compiler (1)
- Compliance (1)
- Compositional Symbolic Execution (1)
- Computing Invariant Values (1)
- Concentration (1)
- Publication Year
- Publication
Articles 1 - 30 of 35
Full-Text Articles in Software Engineering
Online Legislation: Developments And Trends In Data Privacy And Software Development, Garrett J. Splinter
Online Legislation: Developments And Trends In Data Privacy And Software Development, Garrett J. Splinter
Honors Program: Senior Projects (Public)
The increasingly relevant interaction between the law and data privacy, as well as compliance requirements enforced by the United States, is currently in a state of transition. Various states, such as California, Colorado, Connecticut, Nebraska, and many others, all have passed legislation with varied requirements and definitions that make for a challenging framework in which software developers operate, as the universal nature of the internet renders their compliance with current legislation a challenge. Enforcement also tends to be relatively relaxed in most modern examples, though it has escalated after 2020, and this trend may continue in the future, lending credence …
Mining Work Items To Streamline Software Maintenance Tasks, Salomé Perez-Rosero
Mining Work Items To Streamline Software Maintenance Tasks, Salomé Perez-Rosero
Dissertations and Doctoral Documents, University of Nebraska-Lincoln, 2023–
Software engineering maintenance tasks often require associating code changes into groupings of related units of work to have as much information as possible about the developments toward addressing a specific code task. A comprehensive understanding of how a code task has evolved helps developers make better decisions about changes in the overall codebase, where a commit represents the set of code changes made to the codebase at a specific time. While the concept of work items as logically related code changes has been primarily theoretical, its impact on software maintenance tasks, such as tracing the origins of bugs or fixes …
Designing Programming Languages For Writing Maintainable Software, Aaron Friesen
Designing Programming Languages For Writing Maintainable Software, Aaron Friesen
Honors Program: Senior Projects (Public)
Maintainability is crucial to the long-term success of software projects. Among other factors, it is affected by the programming language in which the software is written. Programming language designers should be conscious of how their design decisions can influence software maintainability. Non-functional properties of a language can affect the readability of source code in ways beyond the control of programmers. Language features can cause or prevent certain classes of bugs, and runtime issues especially can require significant maintenance effort. Tools external to the language, especially those developed and distributed by language implementers, can aid in the creation of maintainable software. …
Real Time Call-Flagging System To Respond To Suicidal Ideation In Call Centers, Vishnu Menon, Joseph Carrigan, Charles Floeder, Thomas Walton, Devin Mcguire
Real Time Call-Flagging System To Respond To Suicidal Ideation In Call Centers, Vishnu Menon, Joseph Carrigan, Charles Floeder, Thomas Walton, Devin Mcguire
Honors Program: Senior Projects (Public)
The 2021-2022 Signature Performance Design Studio team developed a live audio call-flagging system that enables faster responses and new response pathways to veteran crises by call service representatives and their management team. Using a custom made deep learning model, live audio streaming server, and Teams broadcasting add-on, the system empowers Signature Performance call service representatives to make quicker and more well informed decisions to provide veteran’s the best care possible.
A Framework Comparison: .Net And Laravel, Guy Richard
A Framework Comparison: .Net And Laravel, Guy Richard
Honors Program: Senior Projects (Public)
No abstract provided.
Analysis Of The Effectiveness Of Different Techniques For Creating Cross-Platform Compatible Software, Michael Westberg
Analysis Of The Effectiveness Of Different Techniques For Creating Cross-Platform Compatible Software, Michael Westberg
Honors Program: Senior Projects (Public)
Creating cross-platform compatible software is a major issue in a world where users utilize a variety of devices and platforms. To ensure that a piece of software is accessible to as many users as possible, software must be cross-platform compatible. There are four main approaches that can be done to achieve this state of being cross-platform compatible, each with both advantages and disadvantages. These methods are: creating the software as separate binaries, using a scripting language with a cross-platform interpreter, compiling to an intermediate language, and creating the software as a web application. This paper will discuss how each of …
Modernizing Legacy Business Practices And Maintaining Backwards Compatibility When Replacing Legacy Software, Thomas Hillebrandt
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 …
Best Practices In Industry And Cse Senior Design, Conner Hallett
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 …
Advanced Security Analysis For Emergent Software Platforms, Mohannad Alhanahnah
Advanced Security Analysis For Emergent Software Platforms, Mohannad Alhanahnah
School of Computing: Dissertations, Theses, and Student Research
Emergent software ecosystems, boomed by the advent of smartphones and the Internet of Things (IoT) platforms, are perpetually sophisticated, deployed into highly dynamic environments, and facilitating interactions across heterogeneous domains. Accordingly, assessing the security thereof is a pressing need, yet requires high levels of scalability and reliability to handle the dynamism involved in such volatile ecosystems.
This dissertation seeks to enhance conventional security detection methods to cope with the emergent features of contemporary software ecosystems. In particular, it analyzes the security of Android and IoT ecosystems by developing rigorous vulnerability detection methods. A critical aspect of this work is the …
Formal Modeling And Analysis Of A Family Of Surgical Robots, Niloofar Mansoor
Formal Modeling And Analysis Of A Family Of Surgical Robots, Niloofar Mansoor
School of Computing: Dissertations, Theses, and Student Research
Safety-critical applications often use dependability cases to validate that specified properties are invariant, or to demonstrate a counterexample showing how that property might be violated. However, most dependability cases are written with a single product in mind. At the same time, software product lines (families of related software products) have been studied with the goal of modeling variability and commonality and building family-based techniques for both modeling and analysis. This thesis presents a novel approach for building an end to end dependability case for a software product line, where a property is formally modeled, a counterexample is found and then …
Analysis And Comparison Of Multiple Approaches For Software Development Management As Applied To A Design Studio Project, Bethany Hage
Analysis And Comparison Of Multiple Approaches For Software Development Management As Applied To A Design Studio Project, Bethany Hage
Honors Program: Senior Projects (Public)
This research analyzes multiple approaches to software development management through the lens of my experience in the Raikes Design Studio capstone program. The Design Studio project I participated in was a project for the company Hudl, and throughout its course we used techniques from the Agile framework of Scrum. I compared the Scrum principles to my team’s own application over the course of the project, and I researched other software development methodologies such as Extreme Programming and Lean in order to determine whether they could improve the effectiveness of the current Design Studio experience. The proposed solution to this question …
Applications Of Varying Leadership Structures For Software Engineering Teams, Elliot Sandfort
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 …
Design And Implementation Of A Stand-Alone Tool For Metabolic Simulations, Milad Ghiasi Rad
Design And Implementation Of A Stand-Alone Tool For Metabolic Simulations, Milad Ghiasi Rad
School of Computing: Dissertations, Theses, and Student Research
In this thesis, we present the design and implementation of a stand-alone tool for metabolic simulations. This system is able to integrate custom-built SBML models along with external user’s input information and produces the estimation of any reactants participating in the chain of the reactions in the provided model, e.g., ATP, Glucose, Insulin, for the given duration using numerical analysis and simulations. This tool offers the food intake arguments in the calculations to consider the personalized metabolic characteristics in the simulations. The tool has also been generalized to take into consideration of temporal genomic information and be flexible for simulation …
Semeo: A Semantic Equivalence Analysis Framework For Obfuscated Android Applications, Zhen Hu
Semeo: A Semantic Equivalence Analysis Framework For Obfuscated Android Applications, Zhen Hu
School of Computing: Dissertations, Theses, and Student Research
Software repackaging is a common approach for creating malware. In this approach, malware authors inject malicious payloads into legitimate applications; then, to ren- der security analysis more difficult, they obfuscate most or all of the code. This forces analysts to spend a large amount of effort filtering out benign obfuscated methods in order to locate potentially malicious methods for further analysis. If an effective mechanism for filtering out benign obfuscated methods were available, the number of methods that must be analyzed could be reduced, allowing analysts to be more productive. In this thesis, we introduce SEMEO, a highly effective and …
Using Software Testing Techniques To Infer Biological Models, Mikaela Cashman
Using Software Testing Techniques To Infer Biological Models, Mikaela Cashman
School of Computing: Dissertations, Theses, and Student Research
Years of research in software testing has given us novel ways to reason about and test the behavior of complex software systems that contain hundreds of thousands of lines of code. Many of these techniques have been inspired by nature such as genetic algorithms, swarm intelligence, and ant colony optimization. However, they use a unidirectional analogy – taking from nature without giving back.
In this thesis we invert this view and ask if we can utilize techniques from testing and modeling of highly-configurable software systems to aid in the emerging field of systems biology which aims to model and predict …
Connecting Program Synthesis And Reachability: Automatic Program Repair Using Test-Input Generation, Thanhvu Nguyen, Westley Weimer, Deepak Kapur, Stephanie Forrest
Connecting Program Synthesis And Reachability: Automatic Program Repair Using Test-Input Generation, Thanhvu Nguyen, Westley Weimer, Deepak Kapur, Stephanie Forrest
School of Computing: Technical Reports
We prove that certain formulations of program synthesis and reachability are equivalent. Specifically, our constructive proof shows the reductions between the template-based synthesis problem, which generates a program in a pre-specified form, and the reachability problem, which decides the reachability of a program location. This establishes a link between the two research fields and allows for the transfer of techniques and results between them.
To demonstrate the equivalence, we develop a program repair prototype using reachability tools. We transform a buggy program and its required specification into a specific program containing a location reachable only when the original program can …
Improving The Efficiency Of Ci With Uber-Commits, Matias Waterloo
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 …
Why Do Record/Replay Tests Of Web Applications Break?, Mouna Hammoudi
Why Do Record/Replay Tests Of Web Applications Break?, Mouna Hammoudi
School of Computing: Dissertations, Theses, and Student Research
Software engineers often use record/replay tools to enable the automated testing of web applications. Tests created in this manner can then be used to regression test new versions of the web applications as they evolve. Web application tests recorded by record/replay tools, however, can be quite brittle; they can easily break as applications change. For this reason, researchers have begun to seek approaches for automatically repairing record/replay tests. To date, however, there have been no comprehensive attempts to characterize the causes of breakages in record/replay tests for web applications. In this work, we present a taxonomy classifying the ways in …
Sonifying Git History, Kevin J. North
Sonifying Git History, Kevin J. North
School of Computing: Dissertations, Theses, and Student Research
Version control is a technique that software developers use in industry to manage their source code artifacts. One benefit of using version control is that it produces a history of every change made to a codebase, which developers frequently analyze in order to aid the software development process. However, version control history contains highly multidimensional and temporal data. State of the art techniques can show several of these dimensions, but they cannot show a large number of dimensions simultaneously without becoming difficult to understand. An alternative technique to understand temporal data with high dimensionality is sonification. Sonification maps information to …
A Roadmap To Safe And Reliable Engineered Biological Nano-Communication Networks, Justin W. Firestone
A Roadmap To Safe And Reliable Engineered Biological Nano-Communication Networks, Justin W. Firestone
School of Computing: Dissertations, Theses, and Student Research
Synthetic biology has the potential to benefit society with novel applications that can improve soil quality, produce biofuels, grow customized biological tissue, and perform intelligent drug delivery, among many other possibilities. Engineers are creating techniques to program living cells, inserting new logic, and leveraging cell-to-cell communication, which result in changes to a cell's core functionality. Using these techniques, we can now create synthetic biological organisms (SBOs) with entirely new (potentially unseen) behaviors, which, similar to silicon devices, can sense, actuate, perform computation, and interconnect with other networks at the nanoscale level. SBOs are programmable evolving entities, and can be likened …
Chipathlon: A Competitive Assessment For Gene Regulation Tools, Avi Knecht, Adam Caprez, Istvan Ladunga
Chipathlon: A Competitive Assessment For Gene Regulation Tools, Avi Knecht, Adam Caprez, Istvan Ladunga
UCARE: Research Products
When gene regulation of the cell cycle malfunctions, it frequently causes cancer.
Adult, differentiated cells can be reprogrammed to induced pluripotent stem cell; which can then be reprogrammed to heart muscle, skin, etc, to repair damaged tissue (to limited extent in clinical practice).
ChIPathlon: Evaluate the performance of all transcription factor mapping (peak calling) methods. To this end, we will develop a scalable and easy to use super computing pipeline to stage data, compare many different peak calling and differential binding site tools, and store all results into a single database.
A-Maze-D: Advanced Maze Development Kit Using Constraint Databases, Shruti Daggumarti, Peter Revesz, Corey Svehla
A-Maze-D: Advanced Maze Development Kit Using Constraint Databases, Shruti Daggumarti, Peter Revesz, Corey Svehla
School of Computing: Conference and Workshop Papers
In this paper, we describe the A-Maze-D system which shows that constraint databases can be applied conveniently and efficiently to the design of maze games. A-Maze-D provides a versatile set of features by a combination of a MATLAB library and the MLPQ constraint database system. A-Maze-D is the first system that uses constraint databases to build maze games and opens new ideas in video game development.
Discovery Over Application: A Case Study Of Misaligned Incentives In Software Engineering, Eric F. Rizzi
Discovery Over Application: A Case Study Of Misaligned Incentives In Software Engineering, Eric F. Rizzi
School of Computing: Dissertations, Theses, and Student Research
In this thesis, we present evidence that there is an under-emphasis on the application of software systems in Software Engineering research, affecting the advancement of the field as a whole. Specifically, we perform a case-study on KLEE, a tool with over 1000 citations. We made improvements that consisted of fixing performance bugs and implementing optimizations that have become common practice, increasing KLEE's performance by 2-11X. To understand how techniques proposed in the literature would be affected by these improvements, we analyzed 100 papers that cited the original KLEE paper. From this analysis we found two things. First, it is clear …
Taming The Software Chaos: True To Its Promise, Iftdss Eases The Burden Of Fuels Treatment Planning—And Does A Lot More Besides, Gail Wells
Joint Fire Science Program Digests
A key problem reported by the fuels treatment planning community is the difficulty and inefficiency of evaluating and then applying many planning tools and applications. Fuels specialists have struggled to find, load, and learn all the different fuels and fire planning models, not to mention the interface of running, adjusting, and inputting data specific to each model without the ability to easily share inputs/outputs between models.
The Interagency Fuels Treatment Decision Support System (IFTDSS) was conceived as a way for users to learn one interface, access a variety of data and models all in one place, and pass data (inputs …
Simexplorer: A Testing Framework To Detect Elusive Software Faults, Tingting Yu
Simexplorer: A Testing Framework To Detect Elusive Software Faults, Tingting Yu
School of Computing: Dissertations, Theses, and Student Research
Modern computer software systems are prone to various classes of runtime faults due to their reliance on features such as concurrency and peripheral devices such as sensors. Testing remains a common method for uncovering faults in these systems. However, commonly used testing techniques that execute the program with test inputs and inspect program outputs to detect failures are often ineffective on these systems. In addition, existing testing techniques focus primarily on single applications, neglecting elusive faults that occur at the whole-system level due to complex system event interactions.
This research provides a framework, SIMEXPLORER, that allows engineers to effectively test …
Variable Bounds Analysis Of A Climate Model Using Software Verification Techniques, Peter Revesz, Robert Woodward
Variable Bounds Analysis Of A Climate Model Using Software Verification Techniques, Peter Revesz, Robert Woodward
School of Computing: Conference and Workshop Papers
Software verification techniques often use some approximation method that identifies the limits of the possible range of values that variables in a computer program can take during execution. Current climate models are complex computer programs that are typically iterated time-step by time-step to predict the next value of the climate-related variables. Because these iterative methods are necessarily computed only for a fixed number of iterations, they are unable to answer many long-range questions that may be posed regarding climate change, for example, whether there are natural fluctuations or whether a tipping point is reached after which there is no return …
A Self-Adaptive Framework For Failure Avoidance In Configurable Software, Jacob Swanson
A Self-Adaptive Framework For Failure Avoidance In Configurable Software, Jacob Swanson
School of Computing: Dissertations, Theses, and Student Research
Many software systems today are highly-configurable, meaning the user can customize their instance of the application, adding and removing features as needed. However, this configurability makes it harder to ensure that faults will not escape testing and manifest as failures in the field. This is because many failures are configuration-dependent; they will appear under certain combinations of features configurations, but not others. Once faults are found and reported in the field, there can be a long lag time (days, weeks or even months) until patches are created and released to fix them. In the meantime, users will continue to use …
Automated Test Case Generation To Validate Non-Functional Software Requirements, Pingyu Zhang
Automated Test Case Generation To Validate Non-Functional Software Requirements, Pingyu Zhang
School of Computing: Dissertations, Theses, and Student Research
A software system is bounded by a set of requirements. Functional requirements describe what the system must do, in terms of inputs, behavior, and outputs. We define non-functional requirements to be how well these functional requirements are satisfied, in terms of qualities or constraints on the design or on the implementation of a system. In practice, the validation of these kinds of requirements, does not receive equal emphasis. Techniques for validating functional requirements target all levels of software testing phases, and explore both black-box and white-box approaches. Techniques for validating non-functional requirements, on the other hand, largely operate in a …
Solving The Search For Source Code, Kathryn T. Stolee
Solving The Search For Source Code, Kathryn T. Stolee
School of Computing: Dissertations, Theses, and Student Research
Programmers frequently search for source code to reuse using keyword searches. When effective and efficient, a code search can boost programmer productivity, however, the search effectiveness depends on the programmer's ability to specify a query that captures how the desired code may have been implemented. Further, the results often include many irrelevant matches that must be filtered manually. More semantic search approaches could address these limitations, yet existing approaches either do not scale, are not flexible enough to find approximate matches, or require complex specifications.
We propose a novel approach to semantic search that addresses some of these limitations and …
Dynamic Data Race Detection And Healing, Du Li
Dynamic Data Race Detection And Healing, Du Li
School of Computing: Dissertations, Theses, and Student Research
Perpetual availability is an important operational goal in today's computer systems. However, achieving this goal is challenging because modern software systems contain faults that can cause them to fail. For example, multi-threading is widely used in modern software to fully utilize the computing capability of multicore processors. However, employing multi-threading can lead to concurrency faults such as deadlock and data race that are notoriously difficult to to isolate, detect, and repair.Data races, which involves two concurrent accesses to the same data where at least one is a write, are the most common concurrency faults.
As our first step, we investigate …