- Software Engineering Research
- Software Testing and Debugging Techniques
- Software Reliability and Analysis Research
- Software System Performance and Reliability
- Scientific Computing and Data Management
- Advanced Software Engineering Methodologies
- Software Engineering Techniques and Practices
- Advanced Malware Detection Techniques
- Evolutionary Algorithms and Applications
- Viral Infectious Diseases and Gene Expression in Insects
- Modular Robots and Swarm Intelligence
- Technology Assessment and Management
- Genomics and Phylogenetic Studies
- Service-Oriented Architecture and Web Services
- Real-time simulation and control systems
- Ecosystem dynamics and resilience
- Sustainable Industrial Ecology
- Open Source Software Innovations
- Business Process Modeling and Analysis
- Flexible and Reconfigurable Manufacturing Systems
- Metaheuristic Optimization Algorithms Research
- VLSI and Analog Circuit Testing
- Robot Manipulation and Learning
- Engineering and Test Systems
- Radiation Effects in Electronics
Carnegie Mellon University
2017-2024
University of Luxembourg
2023
Korea Advanced Institute of Science and Technology
2021
King Saud University
2021
Grand Valley State University
2021
The University of Adelaide
2021
Instituto Tecnológico de Tijuana
2021
Wuhan University
2021
Lancaster University
2021
Michigan State University
2021
Robotic systems are increasingly a part of everyday life. Characteristics robotic such as interaction with the physical world, and integration hardware software components, differentiate from conventional systems. Although numerous studies have investigated challenges testing in practice, no study has focused on In this paper, we conduct qualitative to better understand practices used by robotics community, identify faced practitioners when their We total 12 9 our participants' responses....
Robotics simulation plays an important role in the design, development, and verification validation of robotics systems. Simulation represents a potentially cheaper, safer, more reliable alternative to widely used practice manual field testing, introduces valuable opportunities for extensive test automation. The goal this paper is develop principled understanding ways developers use their testing processes challenges they face doing so. This can guide improvement simulators techniques modern...
Robotics and autonomy systems are becoming increasingly important, moving from specialised factory domains to general consumer-focused applications. As such grow ubiquitous, there is a commensurate need protect against potentially catastrophic harm. System-level testing in simulation particularly promising approach for assuring robotics systems, allowing more extensive realistic scenarios seeking bugs that may not manifest at the unit-level. Ideally, could find critical well before expensive...
Machine learning (ML) components are increasingly integrated into software products, yet their complexity and inherent uncertainty often lead to unintended hazardous consequences, both for individuals society at large. Despite these risks, practitioners seldom adopt proactive approaches anticipate mitigate hazards before they occur. Traditional safety engineering approaches, such as Failure Mode Effects Analysis (FMEA) System Theoretic Process (STPA), offer systematic frameworks early risk...
In recent years, many software engineering researchers have begun to include artifacts alongside their research papers. Ideally, artifacts, including tools, benchmarks, and data, support the dissemination of ideas, provide evidence for claims, serve as a starting point future research. However, in practice, suffer from variety issues that prevent realization full potential. To help community realize potential we seek understand challenges involved creation, sharing, use artifacts. end,...
Robot systems are growing in importance and complexity. Ecosystems for robot software, such as the Operating System (ROS), provide libraries of reusable software components that can be configured composed into larger systems. To support compositionality, ROS uses late binding architecture configuration via "launch files" describe how to initialize a system. However, often leads failing silently due misconfiguration, example by misrouting or dropping messages entirely.In this paper we present...
As robotic systems such as autonomous cars and delivery drones assume greater roles responsibilities within society, the likelihood impact of catastrophic software failure those is increased.To aid researchers in development new methods to measure assure safety quality robotics software, we systematically curated a dataset 221 bugs across 7 popular diverse implemented via Robot Operating System (ROS). We produce historically accurate recreations each defective versions form Docker images,...
We developed model-based adaptation, an approach that leverages models of software and its environment to enable automated adaptation. The goal our is build long-lasting systems can effectively adapt changes in their environment.
Robotics simulation plays an important role in the design, development, and verification validation of robotic systems. Recent studies have shown that may be used as a cheaper, safer, more reliable alternative to manual, widely used, process field testing. This is particularly context continuous integration pipelines, where integrated automated testing key reducing costs while maintaining system safety. However, are not seeing degree widespread adoption practice their potential would...
Most software engineering research involves the development of a prototype, proof concept, or measurement apparatus. Together with data collected in process, they are collectively referred to as artifacts and subject artifact evaluation (AE) at scientific conferences. Since its initiation SE community ESEC/FSE 2011, both goals process AE have evolved today expectations towards strongly linked reproducible results reusable tools that other researchers can build their work on. However, date...
Robotics systems are complex, safety-critical that can consist of hundreds software components interact with each other dynamically during run time. Software robotics often exhibit reactive, periodic, and state-dependent behavior. Incorrect component composition lead to unexpected behavior, such as passively waiting for initiation messages never arrive. Model-based analysis is a common technique identify incorrect behavioral by checking desired properties given models based on state...
Over the past eleven years, Robot Operating System (ROS), has grown from a small research project into most popular framework for robotics development. Composed of packages released on Rosdistro package manager, ROS aims to simplify development by providing reusable libraries, tools and conventions building robot. Still, developing complete robot is difficult task that involves bridging many technical disciplines. Experts who create computer vision packages, instance, may need rely software...
Search-based automatic program repair has shown promise in reducing the cost of defects real-world software. However, to date, such techniques have typically been most successful when constructing short or single-edit repairs. This is true even make use heuristic search strategies, like genetic programming, that principle support construction patches arbitrary length. One key reason fitness function traditionally depends entirely on test cases, which are poor at identifying partially correct...
Testing plays an essential role in ensuring the safety and quality of cyberphysical systems (CPSs). One main challenges automated software-in-the-loop simulation testing CPSs is defining effective oracles that can check a given system conforms to expectations desired behavior. Manually specifying such be tedious, complex, error-prone, so techniques for automatically learning are attractive. Characteristics CPSs, as limited or no access source code, behavior non-deterministic sensitive noise,...
Software refactoring plays an important role in software engineering. Developers often turn to when they want restructure improve its quality without changing external behavior. Small-scale (floss) is common industry and performed by a single developer short sessions, even though developers do much of this work manually instead using tools. However, some efforts are larger scale, requiring entire teams months or years effort, the tools these not as well studied. In paper, we report on survey...
Proposing a new method for automatically detecting, localising, or repairing software faults requires fair, reproducible evaluation of the effectiveness relative to existing alternatives. Measuring both an indicative set bugs, and mechanism reliably reproducing interacting with those bugs. We present BugZoo: decentralised platform distributing, reproducing, historical BugZoo connects datasets tools developers researchers, provides controlled environment conducting experiments. To ensure...
The Robot Operating System (ROS) was initially introduced to lower the barriers robots software development by reducing need for extensive domain knowledge. ROS allows developers build valuable configuring and reusing off-the-shelf components while writing little, if any, code through its modular design, loosely coupled architecture, rich package ecosystem. However, despite advantages of this approach, lack documentation can present a challenge novice users.
From delivering groceries and vital medical supplies to driving trucks passenger vehicles, society is becoming increasingly reliant on autonomous vehicles (AVs), It therefore that these systems be resilient adversarial actions, perform mission-critical functions despite known unknown vulnerabilities, protect repair themselves during or after operational failures cyber-attacks. While techniques have been proposed address individual aspects of software resilience, vulnerability assessment,...
We report the discussion session at sixth international Genetic Improvement workshop, GI-2019 @ ICSE, which was held as part of 41st ACM/IEEE International Confer- ence on Software Engineering Tuesday 28th May 2019. Topics included GI representations, maintainability evolved code, automated software testing, future areas research, such co-evolution, and existing tools benchmarks.