REUSSA at Texas State University


Projects


(a). Testing and Analysis of Mobile Software Systems (Dr. Guowei Yang)

Mobile platform is pervading our daily life, and it has overtaken traditional desktop platform as dominant global internet platform. This leads to an increasing impetus for ensuring the reliability of mobile software systems. However, testing and analysis of mobile software is complex and expensive, often requiring substantial manual effort, due to physical constraints of mobile devices as well as special characteristics of mobile software. This project will investigate efficient and effective techniques for testing and analysis of mobile software systems. We will study the critical properties of mobile software, develop techniques and tools for checking these properties using a combination of static analysis and dynamic analysis, and apply the tools on open source Android software systems to evaluate their effectiveness.

(b). Software Platforms for IoT Systems (Dr. Anne H.H. Ngu)

The World Wide Web has gone through many transformations and has recently emerged as a platform for connecting billions of physical objects (Internet of Things) to empower human interaction with both the physical and cyber worlds in an unprecedented way. However, the current state-of-the-art support for developing Internet of Things (IoT) services is application specific, which is equivalent to the scenario where every IoT device requires the development of a specific web browser for connecting to the Internet. This project proposes a lightweight Internet of Things (IoT) software service platform that can run efficiently in power constrained IoT devices. Such a service platform will overcome the interoperability issue in various IoT devices and enable rapid creation of IoT applications. This software framework will be used in the composition of two niche IoT applications: Blood Alcohol Content prediction in adults and fall detection in elderly persons to demonstrate the ease of service creation and the seamless integration of the cyber and the IoT devices without expert programming knowledge.

(c). Verification of Distributed AI Control Systems (Dr. Rodion Podorozhny)

Our society increasingly relies on interacting, autonomous software systems that employ machine learning and distributed planning. There is a great variety of applications for such systems, to name a few: self-driving cars that need to interact to ensure safe operation, teams of drones that can perform various tasks cooperatively, distributed web crawlers, devices in an intelligent home and many others. While the algorithms that provide such systems with their reasoning capabilities come from the area of Artificial Intelligence (AI), it is the program analysis methods from the field of Software Engineering (SE) that can give us a high level assurance of proper operation of such systems.

In this project the students will learn machine learning and distributed AI control algorithms and software architectures for implementation of interacting, autonomous control systems. The project will also expose students to existing program analysis algorithms that can be applied to verification of distributed AI control systems.

A short term goal is to provide algorithmic solutions and functioning prototypes for program analysis of distributed AI control systems. A long term goal is to conduct comparative evaluation of distributed AI algorithms, including machine learning approaches, and verify a distributed AI control prototype with the suggested program analysis algorithms. The existing distributed control system that we will use is implemented as a simulation and as an Android-based distributed system. It has been applied to control of a team of cooperating two-track rovers that use Android cell phones as embedded devices.

(d). Adaptive Optimization On Extreme-scale Supercomputers (Dr. Apan Qasem)

Exascale systems which can deliver up to 10^18 peak floating-point performance are expected to come online in 2024. These extreme-scale supercomputers will consist of a billion cores, be highly heterogeneous in nature and will be over-provisioned to operate under specified power budgets. These characteristics make programming exascale systems enormously challenging where conventional optimization techniques are unlikely to succeed. As an alternate solution, recent research has proposed the use of machine learning (ML) methods for adapting code to these complex architectures.

In this project, students will be introduced to the emerging area of machine-learning driven performance optimization. Students will work with faculty to develop an adaptive code optimizations on scalable HPC systems with heterogeneous memory architectures. The ML driven model will be implemented within the LLVM compiler framework and will give students an opportunity to engage in open-source software development. The project will primarily focus on optimizing graph algorithms and students will work with real-world graphs from the Graph500 project.

(e). Mixed-Criticality Scheduling in Compositional Real-Time Systems (Dr. Kecheng Yang)

Unlike most general-purpose computing systems where the observed average performance is of the most significance, real-time systems especially safety-critical ones focus on the worst-case timing guarantees to provide high predictability of the system. As a result, significant pessimism usually exists in real-time scheduling analysis and design. The system parameters are provisioned as upper bounds, which are often not tight, on the worst case. Consequently, while the system design and certification need to follow these pessimistic provisioned system parameters, computing resources might be significantly underutilized in practice due to the potentially huge gap between the general scenario during runtime and the worst-case provision used for analysis, design, and certification. One approach to mitigate such pessimism is mixed-criticality (MC) scheduling, which, however, has rarely been considered with compositional real-time systems together. In compositional real-time systems, computing resources are allocated hierarchically, which facilitate system development and maintenance but entails significant challenges for applying MC scheduling techniques. In this project, we will explore the conjunction of mixed-criticality scheduling and compositional real-time systems. We will identify challenges and problems in this context and study towards new models, algorithms, and analyses that contribute to the design and implementation of mixed-criticality compositional real-time systems.