Sponsored by
Microsoft Research
[ Home | Experiment | Photos | Documents & Publications ]
Introduction to Phoenix "Phoenix is the code name for a software optimization and analysis framework that is the basis for all future Microsoft compiler technologies. The Phoenix framework is an extensible system that can be adapted to read and write binaries and MSIL assemblies and represent the input files in an IR, which can be analyzed and manipulated by applications by using the Phoenix API. The code can then be written in binary or JITable form for execution." For more information, please visit this website. |
||
Introduction to Hot Patching Project Patching technologies are commonly applied to improve the dependability of software after release. This paper proposes an autonomous hot patching (AHP) framework to fully automate the reasoning for the causes of failures, and to patch the binary code of Web-based applications. AHP admits the hardness for rooting out all faults before product release, and autonomously patches problems of application programs. By directly operating on binary code, AHP is universal to virtually all applications. A promising application of AHP is to shortcut the remote maintenance center (RMC) and hence to reduce the turn around time for patches. In our hot patching project, we make use of Microsoft's Phoneix RDK as our code instrumentation tool to do hot pathing. |
||
Introduction to Traditional V&V • For mission-critical applications such as C2
(command and control) and embedded systems,
the V&V effort can be expensive and labor
intensive. The V&V effort can be easily 50% or
more of the total development cost. |
||
Real-Time and Network-Centric V&V |
||
|
|
||
V&V for Service-Oriented Computing (SOC) • Service-oriented computing (SOC) and service-oriented
architecture (SOA) represent a new paradigm for
computing, and it will have dynamic discovery,
composition and dynamic omposition in real-time and at
runtime. |
||
• Many mission-critical (embedded) systems need real-time V&V as
they involve dynamic reconfiguration. For example, combat aircrafts,
tanks, spaceships, manufacturing process control, and C2 systems.
Many of these systems also started to use service-oriented
architecture, e.g., FCS, and FORCEnet. In these systems, new code
is generated in real time. |
||
|
• Network-Centric Warfare (NCW) |
||
|
We have been working on V&V issues in the
past including |
||
Overall Goal • To support rapid development and evaluation of
Network-Centric Warfare (NCW) Command and
Control (C2) applications: – Support policy-based computing (GIG) |
||
Dependable and Automated Software Development with RTV&V |
||
Dynamic Verification and Distributed Simulation |
||
Dynamic SOA Composition and Recomposition • Rapid service-oriented system development. |
||
Simulation Frameworks |
||
Demo • Initial configuration: |
||
Model Checking Rover-Control Scenarios • Before deployment, rover-control scenarios are checked to ensure correctness • In the demo, we check a simple property: whether the rover arrives
at the destination following the scenarios • The model checker is encapsulated as a web service Input: a program with Output: A counterexample is an execution trace that witnesses the failure. |
||
Embedded Car Policies • Example – Car must not reach the coordinate (2, 5) • Example – Car must not enter an area centered by (5, 2) with radius of 2 • Example – The distance between the source and car’s current coordinate must be <= 10
|
||
New V&V Paradigm • RTV2 is different from IV&V. |
||
For More Information • Blade model checker http://asusrl.eas.asu.edu/blade/ • Distributed service-oriented simulation: http://asusrl.eas.asu.edu/simulation/ • Embedded systems: http://asusrl.eas.asu.edu/EmbeddedExplorer/ • Web service testing: http://asusrl.eas.asu.edu/srlab/projects/webstrar/index.htm • Policy specification, analysis and enforcement: http://asusrl.eas.asu.edu/psel/ • DCS or service dynamic reconfiguration: http://whoknows.eas.asu.edu/~wwsong/DCS.htm |
||
Completeness and Consistency (C&C) Analysis • Perform completeness analysis to identify all the missing system specifications.• Identify and minimize the set of scenarios that need to be updated to make the system complete and robust. • The minimization algorithm is much more efficient than similar algorithms like Quine-McCluskey algorithm. • The whole process is automated in a GUI-based C&C analysis tool. • The proposed techniques have been proved to be effective in solving large applications including: • Several large real-time distributed command-and-control NCW (Network-Centric Warfare) systems for the US Department of Defense (DoD); • A large real-time mission-critical process control for semiconductor manufacturing for Intel corporation; and • A large real-time high-availability communication processor for Motorola.• Perform completeness analysis to identify all the missing system specifications. • Identify and minimize the set of scenarios that need to be updated to make the system complete and robust. • The minimization algorithm is much more efficient than similar algorithms like Quine-McCluskey algorithm. • The whole process is automated in a GUI-based C&C analysis tool. • The proposed techniques have been proved to be effective in solving large applications including: • Several large real-time distributed command-and-control NCW (Network-Centric Warfare) systems for the US Department of Defense (DoD); • A large real-time mission-critical process control for semiconductor manufacturing for Intel corporation; and • A large real-time high-availability communication processor. |
||
New Test Case Generation based on the Swiss Cheese (SC) Model • A systematic approach to generate and select the most powerful test
data that can detect faults in the software. |
||
Swiss Cheese (SC) Model for Software Testing Based on Boolean Expressions • A systematic approach to generate and select the most powerful test
data that can detect faults in the software. |
||
Back to ASU Software Research Lab
|