IPA IP 2023 Question 39
A question IPA Japan published in 令和5年度 ITパスポート試験 公開問題 問39, translated into English. ITPEC is based on the same exams.
Since there is no specification for software in operation, the source code was analyzed and a specification of the program was created. What is this method called?
Explanation
Reverse engineering — analyzing an existing program, here its source code, to recover its specification or design.
Ordinary (forward) engineering goes from specification to design to code. Reverse engineering runs the other way: it starts from a finished product, such as the source code of software already in operation, and works back to its specification and design documents. It is used when documentation is missing or out of date, to maintain or migrate an old system, or to understand how a product works.
Answer (c)
Why not others:
- •(a) Code review — people read the source code to find errors and check it against coding standards; it checks code, it does not produce a specification
- •(b) Design review — design documents are reviewed to find errors early; it needs a design document to exist
- •(d) Refactoring — improving the internal structure of a program without changing its external behavior
Key rule: From code back to a specification or design is reverse engineering; reworking the code’s structure while keeping its behavior is refactoring.
Software Development Management Techniques · AI-written, may contain errors
This question comes from the past questions IPA Japan publishes, translated into English by ITPEC Practice. ITPEC Practice is an independent study tool and is not affiliated with IPA or ITPEC. See the original paper (PDF) or Report an issue.