Software Engineering Questions and Answers – Reverse Engineering

This set of Software Engineering Multiple Choice Questions & Answers (MCQs) focuses on “Reverse Engineering”.

1. In reverse engineering process, what refers to the sophistication of the design information that can be extracted from the source code?
a) interactivity
b) completeness
c) abstraction level
d) direction level
View Answer

Answer: c
Explanation: None.

2. In reverse engineering, what refers to the level of detail that is provided at an abstraction level?
a) interactivity
b) completeness
c) abstraction level
d) directionality
View Answer

Answer: b
Explanation: None.

3. The core of reverse engineering is an activity called
a) restructure code
b) directionality
c) extract abstractions
d) interactivity
View Answer

Answer: c
Explanation: The engineer must evaluate the old program and extract a meaningful specification of the processing that is performed, the user interface that is applied, and the program data structures or database that is used.
advertisement
advertisement

4. What have become de rigueur for computer-based products and systems of every type?
a) GUIs
b) Candidate keys
c) Object model
d) All of the mentioned
View Answer

Answer: a
Explanation: Therefore, the redevelopment of user interfaces has become one of the most common types of re-engineering activity. But before a user interface can be rebuilt, reverse engineering should occur.

5. Forward engineering is also known as
a) extract abstractions
b) renovation
c) reclamation
d) both renovation and reclamation
View Answer

Answer: d
Explanation: Forward engineering, also called renovation or reclamation , not only recovers design information from existing software, but uses this information to alter or reconstitute the existing system in an effort to improve its overall quality.
Note: Join free Sanfoundry classes at Telegram or Youtube

6. Reverse engineering is the process of deriving the system design and specification from its
a) GUI
b) Database
c) Source code
d) All of the mentioned
View Answer

Answer: c
Explanation: None

7. Reverse engineering techniques for internal program data focus on the definition of classes of objects.
a) True
b) False
View Answer

Answer: a
Explanation: This is accomplished by examining the program code with the intent of grouping related program variables.
advertisement

8. Which of the following steps may not be used to define the existing data model as a precursor to re-engineering a new database model:
a) Build an initial object model
b) Determine candidate keys
c) Refine the tentative classes
d) Discover user interfaces
View Answer

Answer: d
Explanation: Once information defined in the preceding steps is known, a series of transformations can be applied to map the old database structure into a new database structure.

9. Much of the information necessary to create a behavioral model can be obtained by observing the external manifestation of the existing
a) candidate keys
b) interface
c) database structure
d) none of the mentioned
View Answer

Answer: b
Explanation: The GUI or the interface provides the base for the behavioral model.
advertisement

10. Extracting data items and objects, to get information on data flow, and to understand the existing data structures that have been implemented is sometimes called
a) data analysis
b) directionality
c) data extraction
d) client applications
View Answer

Answer: a
Explanation: None.

11. Reverse engineering and Re-engineering are equivalent processes of software engineering.
a) True
b) False
View Answer

Answer: b
Explanation: Re engineering is a process of analysis and change whereby a system is modified by first reverse engineering and then forward engineering.

12. Transformation of a system from one representational form to another is known as
a) Re-factoring
b) Restructuring
c) Forward engineering
d) Both Re-factoring and Restructuring
View Answer

Answer: d
Explanation: None.

13. Which of the following is not an objective of reverse engineering?
a) to reduce maintenance effort
b) to cope with complexity
c) to avoid side effects
d) to assist migration to a CASE environment
View Answer

Answer: d
Explanation: Reverse engineering helps us to detect side effects rather than avoiding them.

Sanfoundry Global Education & Learning Series – Software Engineering.

Here’s the list of Best Books in Software Engineering.

If you find a mistake in question / option / answer, kindly take a screenshot and email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.