Analyzing Open Programs
Describe the term Analyzing Open Programs?
Expert
A key problem in software model checking is environment modeling. Software model checkers such as JPF or SPIN can analyze only closed, executable programs—that is, programs that operate on fully specified inputs. However, most software systems are fundamentally open, since their behavior is dependent on patterns of invocation of system components and values defined outside the system but referenced within the system. Whether you are reasoning about the behavior of whole programs or about program components, a model of the environment is therefore essential in enabling model checking.
An environment model for a software component (unit) establishes an abstract runtime context in which the unit executes. It contains both data information (e.g., values that flow into the unit) and control information (e.g., a sequence of method invocations in the unit interface) that influence the unit under analysis. This model should be small enough to enable tractable verification, but sufficiently detailed to not mask property violations.
Environment models allow developers to analyze individual units early in the software lifecycle, when they become code complete, and possibly before the whole software system has been developed and integrated. In this case, model checking is used as an adjunct to unit testing, and the environment models play the role of a testing harness. Environment models are also used in the context of verifying large systems: The system can be broken up into smaller parts which can be verified separately and more efficiently. In this case, the environment model for an analyzed component represents the rest of the system with which the component interacts. The environment encodes only the interface behavior and is much smaller than the actual components it represents, enabling more efficient verification. Environments can also be used to model non-source-code components (for example, hardware components when analyzing embedded software) and native libraries that cannot be analyzed directly by a software model checker.
Normal 0 false false
Operating system process: The execution environment in which the class instances and the instances of subsystems run and reside and its unique address space is combined known as Operating system process. The execution environment might be divided into
Weak Preservation: An abstraction of a concrete system is weakly preserving if a set of properties true in the abstract system encompass corresponding properties in the concrete system which are also true.
Location services: Applications like Maps, camera and compass are permitted to use the information from cellular, Wi-Fi and Global Positioning System networks for finding the estimated locations. The position is di
18,76,764
1943622 Asked
3,689
Active Tutors
1450177
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!