Software Engineering Problems on “Formal Methods of Software Engineering”.
1. Which of the following option is not provided by formal methods?
a) providing frameworks
b) verifying systems
c) provide investors
d) both providing frameworks and verifying systems
Answer: d
Clarification: A method is formal if it has a sound mathematical basis, typically given by a formal specification language.
2. ___________ are statements that can be interpreted in a number of ways.
a) Contradictions
b) Ambiguities
c) Vagueness
d) Comments
Answer: a
Clarification: As the name indicates, these statements may be interpreted differently as per user.
3. What defines the circumstances in which a particular operation is valid?
a) Contradictions
b) Post-condition
c) Vagueness
d) None of the mentioned
Answer: d
Clarification: A precondition defines the circumstances in which a particular operation is valid.
4. Which of the following is a way of making a statement about the elements of a set that is true for every member of the set?
a) Set
b) Sequence
c) Universal quantification
d) Both Set and Sequence
Answer: c
Clarification: None.
5. Which of the following occurs often due to the bulkiness of a system specification document?
a) Contradictions
b) Ambiguities
c) Vagueness
d) Incompleteness
Answer: c
Clarification: Achieving a high level of precision consistently is an almost impossible task.
6. The _________ of a formal specification language is often based on a syntax that is derived from standard set theory notation and predicate calculus.
a) semantic domain
b) syntactic domain
c) sequence
d) set
Answer: b
Clarification: None
7. Which of the following provides a concise, unambiguous, and consistent method for documenting system requirements?
a) CMM
b) ISO-9001
c) CASE tools
d) Formal methods
Answer: d
Clarification: Formal methods provide a concise, unambiguous, and consistent method for documenting system requirements.
8. The ____________ of a specification language indicates how the language represents system requirements.
a) semantic domain
b) syntactic domain
c) sequence
d) set
Answer: a
Clarification: For example, a programming language has a set of formal semantics that enables the software developer to specify algorithms that transform input to output.
9. Which of the following is essential for success, when formal methods are used for the first time?
a) Expert training
b) Consulting
c) Prerequisite knowledge
d) Both Expert training and Consulting
Answer: d
Clarification: The answer is self-explanatory.
10. It is generally not necessary to apply formal methods to every aspect of a major system.
a) True
b) False
Answer: a
Clarification: Those components that are safety critical are first choices, followed by components whose failure cannot be tolerated.
