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.
Video conferencing: Effective tool to cut down costs by using inexpensive webcams and laptops to hold video conferences. Also connect employees from all corners of the globe to come together, and share ideas and exchange thoughts.
Normal 0 false false
Classification of the basis of the purpose or technique 1) Analog computer: analog computer is operate by the measuring the c
How odors of the flower petals assist pollination?
Suggest how you might try to introduce asynchronous behavior into RPC? Are there any weaknesses in your suggestions?
How do biodiversity, total number of living beings and biomass correspondingly differ throughout the ecological succession?
18,76,764
1931559 Asked
3,689
Active Tutors
1453162
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!