a. What are formal methods? Outline four reasons of using specification in software development.
(6 Marks)
b. By use of suitable symbols, explain the following inference rules: (6 Marks)
i. Modus pones
ii. And – elimination
c. Write the predicate for each of the following statements. (4 Marks)
– If Jane is a math major or Jane is a computer science major, then Jane will take math 100
– If it is raining, then I am carrying an umbrella.
d. Consider the following informal specifications:
The function sum should take as its argument a list of numbers. If the numbers are all positive, it should
return their sum. The function BinarySearch should take as its first argument a sorted list of integers (in
ascending order), and as its second argument a single interger; it should return true if the second
argument is found in the list. The student class contains a list of modules studied by the student (as
interger IDs). These are sorted in descending order. The method is studying should use the function
BinarySearch to find a particular ID in the list.
Find 3 errors in the above informal specification that could be caught by the use of formal methods.
What kind of error is each? (6 Marks)
2
e. Formalize the above circuit in propositional logic such that any satisfying interpretation represents a
feasible system state. (6 Marks)
f. What are hidden sorts used for in formal methods. (2 Marks)
For a custom-written paper on the above topic, place your order now!
What We Offer
• On-time delivery guarantee
• PhD-level professionals
• Automatic plagiarism check
• 100% money-back guarantee
• 100% Privacy and Confidentiality
• High Quality custom-written papers