196
GB
What is 'reverse engineering' in software maintenance and in what situation is it unavoidable?
IN
सॉफ़्टवेयर रखरखाव में 'रिवर्स इंजीनियरिंग' क्या है और यह किस स्थिति में अपरिहार्य है?
A
Converting high-level source code to machine code for performance
प्रदर्शन के लिए उच्च-स्तरीय स्रोत कोड को मशीन कोड में परिवर्तित करना
B
Extracting higher-level abstractions from existing code when documentation is missing — unavoidable when maintaining legacy systems where only source code or compiled binaries survive without specifications
दस्तावेज़ अनुपलब्ध होने पर मौजूदा कोड से उच्च-स्तरीय सार निकालना - विरासत प्रणालियों को बनाए रखते समय अपरिहार्य है जहां केवल स्रोत कोड या संकलित बायनेरिज़ विनिर्देशों के बिना जीवित रहते हैं
C
Only legal when the original software vendor gives explicit written permission
केवल तभी कानूनी जब मूल सॉफ़्टवेयर विक्रेता स्पष्ट लिखित अनुमति देता है
D
Automatically reconstructs lost requirement documents from test results
परीक्षण परिणामों से खोए हुए आवश्यक दस्तावेज़ों को स्वचालित रूप से पुन: निर्मित करता है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English)
Reverse engineering (Chikofsky and Cross) recovers design artefacts from code: structure, data models, and behaviour. It's unavoidable for legacy systems where the only surviving artefact is source code or executable — common when companies acquire old systems or maintain decades-old government software.
व्याख्या (हिन्दी)
रिवर्स इंजीनियरिंग (चिकोफ़्स्की और क्रॉस) कोड से डिज़ाइन कलाकृतियों को पुनर्प्राप्त करता है: संरचना, डेटा मॉडल और व्यवहार। यह उन विरासत प्रणालियों के लिए अपरिहार्य है जहां एकमात्र जीवित कलाकृति स्रोत कोड या निष्पादन योग्य है - यह तब आम है जब कंपनियां पुरानी प्रणालियों का अधिग्रहण करती हैं या दशकों पुराने सरकारी सॉफ्टवेयर का रखरखाव करती हैं।