160 likes | 398 Views
Thrust 4 – Complex Systems Modeling, Analysis, and Realization PI: Xudong He, Co-PIs: Shu-Ching Chen, Peter Clarke, Jason Liu, Masoud Sadjadi. Software Architecture Modeling and Analysis Atomicity Violation Prediction in Multi-thread Programs Robotics Control System Modeling and Analysis.
E N D
Thrust 4 – Complex Systems Modeling, Analysis, and RealizationPI: Xudong He, Co-PIs: Shu-Ching Chen, Peter Clarke, Jason Liu, Masoud Sadjadi • Software Architecture Modeling and Analysis • Atomicity Violation Prediction in Multi-thread Programs • Robotics Control System Modeling and Analysis
Software Architecture Modeling and Analysis • Su Liu, Reng Zeng, Zhuo Sun, Xudong He • A software architecture specification plays a critical role in software development process. • SAM is a general framework for developing and analyzing software architecture specifications. • We developed a Software Architecture Modeling and Analysis Tool (SAMAT) to support the SAM framework.
Features of SAMAT • Supporting software architecture modeling through hierarchical decomposition; • Modeling software component and connector behaviors using high-level Petri nets; • Specifying model constraints (system properties) using first-order linear time temporal logic; • Analyzing the SAM’s behavior model through model translation and model checking using SPIN.
SAMAT-The Functional View SAMAT is comprised of: • A modeling component: creates hierarchical compositions, specifies behavior model and defines property specification. • A SAM model: a hierarchical structure for the model. • An analysis component: translates SAM model suitable for model checking.
SAMAT-The Design View SAMAT is a platform independent (implemented in Java) and visual software tool designed using the Model-View-Control pattern.
Atomicity Violation Prediction Reng Zeng, Zhuo Sun, Su Liu, Xudong He • Atomicity violation occurs when proper synchronization is missing in a multi-thread program. • Atomicity violation is the most common (70%) concurrency bugs, and can causes huge damages (e.g. power blackout 2003 & facebook outage 2011) • Multi-core hardware is a growing industry trend, for both high performance servers and low power mobile devices. In the real world, most servers and high-end critical software are multi-thread.
Atomicity Violation – An Example Problem: Thread 2 reads an intermediate value, causing an atomicity violation bug that HandleEvent of Thread 2 returns with an event missing. Solution: The accesses to the shared variable should be in an atomic region.
McPatom Framework • Bug Predictability • Predicted known bugs in Apache, MySQL, and Mozilla-extract. • Accuracy • We have chosen four programs without atomicity violations in SPLASH-2 parallel benchmark suite • McPatom passed this test without reporting any violations • Performance • Very efficient. For example, it took 15.68 seconds to check 3360 properties with regard to 151 shared variables in a trace of 9.4 MB in Apache.
Contributions • A method to extract a thread model from an instrumented interleaved trace that only records events related to atomicity violations. • A complete set of the patterns of unserializable interleavings involving two threads containing any number of accesses to a shared variable. • A unique prediction tool - McPatom, for detecting atomicity violation bugs through model checking
Modeling and Analyzing Robotics Control System Su Liu, Xudong He Collaborating with
Seabed Rig AS (Norwegian) has developed an innovative autonomous robotic drilling rig for unmanned drilling operations. • The unmanned system utilizes autonomous robotic working operations that can be remotely controlled from an interactive 3D interface. • Energid, Inc. is developing robotics grasping and moving software for Seabed Rig.