SI Secure
SI Secure
IndustriesServicesProductsCompanyLibrary
Products | Holodeck


Features

Holodeck's powerful environment simulation and extensibility allows testers to create hundreds of high value, fuzz and fault driven scenarios that test organizations would otherwise not have the means, time or capability to perform.   Data sheet>>

Automated Point-and-Click Fault Scenarios :: more>>
Holodeck offers several out of the box fault scenarios that realistically simulate real world, hostile conditions. These pre-configured faults will fail certain API function calls to simulate Operating System faults such as File in Use, Insufficient Memory, or Network Down.  

File Fuzzing
File streams are virtualized and fuzzed [randomly corrupted] in-line and in real-time and fed to the application under test as the file it opened. The fuzzed file streams are randomized and allow testers to force applications to consume a different corruption pattern on every file access. Microsoft SDL requires that applications successfully open 100,000 fuzzed files, and Holodeck virtualized file fuzzing provides a simple path to success.
Network Fuzzing
Network streams are virtualized and fuzzed [randomly corrupted] or injected with patterns aimed at causing specific behaviors in the application under test. Holodeck network fuzzing enables well known testing techniques such as SQL Injection and allows testers to clearly understand how an application will behave when presented with corrupted data streams. Microsoft SDL requires that applications successfully open 100,000 fuzzed files, however most of today’s applications don’t consume file streams directly, and instead consuming streams from servers as input. Holodeck virtualized network fuzzing provides a simple path to uncovering network based data issues as simply as it does for files.
Resource Faults
Calls to a specific process, library, file, folder, registry key, registry value or COM object are intercepted and their return values overridden by the tester, allowing simulation of key resource faults such as File not found, [Registry] Key is Corrupt, [Resource] Access Denied, [Resource] Process Not Found etcetera. Any resource available to the application may be intercepted and overridden enabling testers to understand application behavior when presented with specific resource availability and return value conditions.
System Faults
Quickly virtualize and limit key resources, including the amount of disk, memory and network bandwidth, and allow testers to observe the results. Applications often assume they own all system resources and are free to consume as needed or wanted, and limiting quantities exposes defects that would normally go unnoticed in the test lab.
Custom Faults
Testers may modify any predefined fuzz pattern or fault or new ones may be created.

Automatic Test and Fault Generation
Holodeck analyzes applications and automatically generates tests to improve stress testing results and increases code coverage.

Application Function Call Logging
Holodeck intercepts and logs all direct and indirect API calls allowing testers to analyze the behavior leading to a failure. Observing API call behavior allows testers to not only better understand the patterns that lead to a failure and back to its root cause, but to provide developers with the key trace information needed to repair uncovered flaws. :: more>>

API Interception
Holodeck allows testers to intercept calls to any system API including its own DLL’s and any other Win32 or .NET resource, and override call parameters and return values.  Multiple wrap applications may be intercepted simultaneously, and automatically intercept any new processes that are spawned during testing, allowing complete control over the behavior of the application’s runtime environment.

Works with other automated test frameworks  
Holodeck can be used in conjunction with existing automated test frameworks or regression test automation to increase the probability of finding bugs, and increase the number of bugs found. Forcing faults concurrent with automated test execution adds a new dimension to the automated testing process. By managing the runtime environment and resource availability, applications are forced to run in less than perfect conditions and expose their limitations.  :: more>>

Integrated debugger
Holodeck implements a debugger that catches all application crashes and exceptions and creates a minidump file that can later be loaded into Visual Studio for debugging. This helps to close the loop between tester and developer, quickly providing the line of code where crash occurred and the state of the machine at the time of failure.  :: more>>

Rapid Resource Limitation
Holodeck allows testers to view the level of disk, memory or network resources consumed by the application under test and limit those resources to simulate different host conditions without having to physically change the memory or disk availability on the testing computer. :: more>>

API  Test Wizard
The Holodeck Test Wizard allows testers to create scheduled tests, those which occur at fixed intervals during a test run. In addition to scheduled test execution, Holodeck enables pattern and event based test execution, for example Fire based on call stack matching; pause when a test fires, et al.

Complete application control
Holodeck gives testers complete application execution control, allowing them to pause, stop, or restart any application in a project, enabling recovery after an application crash, or restart from an undefined or frozen state.  :: more>>

Works with both Windows and .NET Applications
Holodeck supports the complete Win32 API and .NET reference parameters, private methods, and system reflection.

Automation-Ready
Holodeck exposes everything needed to completely automate its functionality and instrument the application under test.

NT/XP Windows Services Support
Launch or attach to any service regardless of whether it is a standalone service or part of a svchost process.  :: more>>

Custom Test Project Creation 
Holodeck can quickly generate .NET and Win32 Microsoft® Visual Studio™ projects, allowing testers to create their own logic for intercepted API functions.  :: more >>

Network Packet Logging
Holodeck captures and logs all network packet traffic from the application under test and allows drill down into each packet. If Holodeck executes a network corruption fault, the corrupted bytes are highlighted in the Network Message Details Pane.  :: more>>

Code Coverage Test Generation
Holodeck varies when the test will be applied to more thoroughly test the application. You can analyze your application and automatically apply resource and corruption faults and tests that are most likely to cause failure.  Holodeck also includes automatic test generation for stress testing and testing for code coverage of your application.  :: more>>

Fully-Extensible
Holodeck completely exposes its various APIs enabling the development of custom imposter functions and complete applications that provide Holodeck fuzzing and fault injection functionality. API’s are available at various levels and to various development languages, specifically:

HEAT—A C/C++ API that provides low-level fault injection functionality

HoloScript.  A managed language API that allows high-level control of Holodeck features such as Set Limits, Inject faults, Create scheduled tests, Examine log entries, Attach to delegates (Thread created, Process created, Log created)
 

back to the top of the page