What should validation of transformed code compare between the original and the new implementation?
Select an answer to reveal the explanation.
Short Explanation
You need to compare what the code actually does: its outputs, data effects, and edge-case behaviour. That’s what proves the original and new implementation act the same way.
Full Explanation
Behavioural equivalence is established by comparing what the two implementations produce and do, across the normal case and the edges where differences typically appear. The choice limiting validation to only whether both implementations produce output for the happy-path input is incorrect because the happy path alone misses the edge cases where transformation errors most often surface. The choice focusing only on class and method names used in the generated Java is incorrect because names are an implementation detail with no bearing on behaviour. The choice focusing only on total line count is incorrect because line count says nothing about whether the code behaves correctly. For the exam, name outputs, data effects and edge cases together as what validation compares.