Biological research has become dependent on computational tools to help guide hypothesis generation and experimentation. However, many tools may be difficult to use, and their results may be hard to reproduce, explain, or validate.
Initially designed as decentralized ledgers for cryptocurrencies, blockchains have evolved to support digital transactions in financial services, healthcare platforms, governments, and various supply chains. Unfortunately, due to their inherent complexity, theoretically fault-tolerant blockchain transactions have been shown to be vulnerable in practice as they are prone to data loss. This project aims to bridge the gap between blockchain theory and practice. The project’s novelties are holistic coverage of the entire blockchain ecosystem to (1) capture their inherent dependencies; (2) identify their critical transaction states; and (3) ensure their effectiveness and efficiency thorough testing and measurement. The project's broader significance and importance are fundamentally advancing the fault tolerance of decentralized transactions, thus benefiting all sectors in modern society that need to maintain and exchange digital data.
Modern scientific research relies on processing large amounts of data using programs that perform hundreds or thousands of operations in parallel. To make it easier to write these programs, scientists use tools called compilers that automatically translate ordinary, one-operation-at-a-time (sequential) programs into massively parallel ones. But these translations may be unreliable: Parallel programs are hard to understand and may suffer from unpredictable interactions. In addition, cutting-edge research in the field is leveraging large language models (LLMs) to generate parallel output, and these models come without any guarantees of correctness. This project aims to improve the reliability and the performance of parallelizing compilers by automatically checking that translated code has exactly the same functionality as the original code. This will involve precise modeling of the behavior of both sequential and parallel programs, developing a tool that can compare sequential and parallel programs, and mathematically proving that the tool’s output is always reliable. If a translation passes the check, the translated parallel code is guaranteed
This collaborative planning proposal brings together researchers from Iowa State University and the University of Central Florida to lay the groundwork for a collective research collaborative, A Community for Configurability Open Research
Rural broadband is a foundation for a strong rural economy and quality of life, yet 39% of the rural US lacks broadband access, and most agriculture farms are not connected at all.
The project aims to develop and evaluate automated techniques for predicting, detecting, diagnosing, and mitigating diverse configuration problems and runtime failures in Small Unmanned Aerial Systems (sUAS).
Bioinformatics tools, and programming via chemical reaction networks (CRNs), result in simulations of a natural process such as an organism's growth, the interactions between molecules as reactions execute over time. While these types of abstractions form a powerful and growing computational paradigm, these are encoded as software programs, which simulate the natural processes, and hence they are prone to faults. This project develops foundations for software testing of natural representations. It is developing techniques for test generation with measurable code and model coverage and designing configuration-aware testing and optimization techniques for these systems.
Software Engineering needs to address an increasingly significant class of programs that are self-adaptive and self-healing. These programs sense changes to their environment and react by modifying configurations, libraries or program code.