← नवीनतम पेपर
💻 computer science

Exploring the Garden of Forking Paths in Empirical Software Engineering Research: A Multiverse Analysis

यह शोध पत्र माइनिंग सॉफ्टवेयर रिपॉजिटरीज के एक अध्ययन के मल्टीवर्स विश्लेषण के माध्यम से यह प्रदर्शित करता है कि अनुभवजन्य सॉफ्टवेयर इंजीनियरिंग अनुसंधान में अंतर्निहित पर्याप्त विश्लेषणात्मक लचीलापन अक्सर प्रकाशित परिणामों की तुलना में भिन्न या विपरीत निष्कर्षों की ओर ले जाता है, जिससे वैज्ञानिक विश्वसनीयता बढ़ाने के लिए रोबस्टनेस चेक और पद्धतिगत विकल्पों के स्पष्ट औचित्य को अपनाने की वकालत की जाती है।

मूल लेखक: Nathan Cassee, Robert Feldt

प्रकाशित 2026-02-25
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Nathan Cassee, Robert Feldt

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक शेफ हैं जो एक प्रसिद्ध सूप की रेसिपी को फिर से बनाने की कोशिश कर रहे हैं। आपके पास सामग्री का एक बर्तन (डेटा) है, लेकिन मूल रेसिपी बुक बहुत अस्पष्ट है। इसमें यह नहीं लिखा है कि प्याज को ठीक कितनी देर तक काटना है, या आपको चाकू का उपयोग करना चाहिए या फूड प्रोसेसर का, क्या आपको पानी उबलने से पहले नमक डालना चाहिए या बाद में, या स्टोव का तापमान क्या होना चाहिए।

सॉफ्टवेयर इंजीनियरिंग रिसर्च की दुनिया में, वैज्ञानिक इन शेफ की तरह होते हैं। उनके पास सॉफ्टवेयर प्रोजेक्ट्स (जैसे GitHub रिपॉजिटरी) से डेटा के बड़े बर्तन होते हैं, लेकिन इस डेटा को "पकाने" के तरीके को तय करने के लिए उनके पास बहुत अधिक स्वतंत्रता होती है। वे यह चुन सकते हैं कि डेटा को साफ करने के अलग-अलग तरीके क्या होंगे, सफलता को मापने के अलग-अलग तरीके क्या होंगे, और कौन से गणितीय सूत्र (फॉर्मूला) का उपयोग किया जाएगा।

यह पेपर, जिसका शीर्षक "Exploring the Garden of Forking Paths" है, एक डरावना सवाल पूछता है: यदि हम 3,000 अलग-अलग शेफ को एक ही बर्तन का सूप पकाने दें, तो क्या वे सभी अंत में एक जैसा ही सूप बनाएंगे?

"गार्डन ऑफ फोर्किंग पाथ्स" (विभाजित रास्तों का बगीचा)

लेखक एक प्रसिद्ध लघु कथा के रूपक (metaphor) का उपयोग करते हैं। एक ऐसे बगीचे की कल्पना करें जहाँ हर बार जब आप एक कदम उठाते हैं, तो रास्ता दो भागों में विभाजित हो जाता है। आप बाएं जा सकते हैं या दाएं।

  • बायां रास्ता: आप प्याज को 10 सेकंड के लिए काटते हैं।
  • दायां रास्ता: आप उन्हें 30 सेकंड के लिए काटते हैं।

रिसर्च में, ये "फोर्क्स" (विभाजन) वे निर्णय हैं जैसे:

  • "क्या हमें 12 महीने का डेटा देखना चाहिए या 24 महीने का?"
  • "क्या हमें सॉफ्टवेयर अपडेट के बाद के पहले सप्ताह को बाहर कर देना चाहिए?"
  • "क्या हमें एक विशिष्ट गणितीय सूत्र का उपयोग करना चाहिए या किसी अन्य का?"

समस्या यह है कि हर एक रास्ता तर्कसंगत लगता है। एक शोधकर्ता सोच सकता है, "ओह, 30 दिन एक मानक महीना है, इसलिए मैं इसका उपयोग करूँगा।" दूसरा सोच सकता है, "नहीं, अल्पकालिक रुझानों (short-term trends) के लिए 7 दिन बेहतर है।" दोनों ही समझदारी भरे चुनाव हैं, लेकिन वे अलग-अलग मंजिलों की ओर ले जाते हैं।

प्रयोग: मल्टीवर्स विश्लेषण

इसकी जांच करने के लिए, लेखकों ने एक वास्तविक, प्रकाशित अध्ययन लिया जो इस बारे में था कि "कंटीन्यूअस इंटीग्रेशन" (एक टूल जो डेवलपर्स को कोड स्वचालित रूप से टेस्ट करने में मदद करता है) कैसे डेवलपर्स के आपस में बातचीत करने के तरीके को प्रभावित करता है।

उन्होंने केवल अध्ययन को एक बार दोबारा नहीं चलाया। उन्होंने एक "मल्टीवर्स" बनाया।
इसे एक वीडियो गेम की तरह समझें जिसमें 3,072 अलग-अलग "सेव फाइल्स" हैं।

  • सेव फाइल #1 में, उन्होंने मूल सेटिंग्स का उपयोग किया।
  • सेव फाइल #2 में, उन्होंने समय अवधि बदलकर 7 दिन कर दी।
  • सेव फाइल #3 में, उन्होंने गणितीय सूत्र बदल दिया।
  • सेव फाइल #4 में, उन्होंने संख्याओं को अलग तरह से राउंड (round) किया।

उन्होंने इस अध्ययन को इन सभी संभावित 3,072 संयोजनों (combinations) के माध्यम से चलाया।

चौंकाने वाला परिणाम

यहाँ मुख्य बात है:

  • 3,072 में से केवल 6 (यानी 0.2% से भी कम) ने मूल पेपर जैसा बिल्कुल सटीक परिणाम दिया।
  • बाकी 3,066 ब्रह्मांडों (universes) ने अलग परिणाम दिए।
  • कुछ ने कहा कि इस टूल का कोई प्रभाव नहीं था।
  • कुछ ने कहा कि इसने चीजों को और खराब कर दिया।
  • कुछ ने कहा कि इसने चीजों को बेहतर बना दिया (मूल के विपरीत)।

यह ऐसा है जैसे 3,000 शेफों ने एक ही सूप पकाया, और 2,994 को बिल्कुल अलग स्वाद वाला सूप मिला, भले ही उन्होंने एक ही सामग्री का उपयोग किया था और "तर्कसंगत" नियमों का पालन किया था।

यह क्यों मायने रखता है?

यह एक समस्या है क्योंकि विज्ञान को सत्य खोजने के लिए होना चाहिए। लेकिन यदि सत्य इस बात पर निर्भर करता है कि आपने प्याज को 10 सेकंड के लिए काटा या 30 सेकंड के लिए, तो वह "सत्य" वास्तव में उन विकल्पों का एक दुर्घटना मात्र है जो शोधकर्ता ने चुने थे।

लेखकों ने पाया कि सड़क के सबसे आम "फोर्क्स" (विभाजन) समय से संबंधित थे:

  • हमने सॉफ्टवेयर को कितनी देर तक देखा?
  • बदलाव के बाद मापने के लिए हमने कितनी देर प्रतीक्षा की?

इन समय सेटिंग्स को बदलने से एक ऐसे डायल को घुमाने जैसा था जिसने उत्तर को पूरी तरह से "हाँ" से "नहीं" में बदल दिया।

समाधान: "जस्टिफिकेशन लैडर" (औचित्य की सीढ़ी)

लेखक यह नहीं कह रहे हैं कि "रिसर्च करना बंद कर दें।" वे कह रहे हैं कि हमें अधिक ईमानदार और सावधान होने की आवश्यकता है। वे एक "जस्टिफिकेशन लैडर" का प्रस्ताव करते हैं ताकि शोधकर्ता यह समझा सकें कि उन्होंने अपने चुनाव क्यों किए:

  1. स्तर 1 (आलसी तरीका): "मैंने बस कंप्यूटर प्रोग्राम में डिफ़ॉल्ट सेटिंग का उपयोग किया।" (यह सबसे कमजोर है)।
  2. स्तर 2 (नकल करने वाला तरीका): "बाकी सब इसी तरह करते हैं।" (बेहतर है, लेकिन फिर भी कमजोर है)।
  3. स्तर 3 (अनुमान लगाने वाला तरीका): "यह एक सामान्य नियम के आधार पर एक अच्छा विचार लगा।"
  4. स्तर 4 (डेटा का तरीका): "मैंने इस विशिष्ट डेटा को देखा और पाया कि यह तरीका सबसे अच्छा काम करता है।"
  5. स्तर 5 (सिद्धांत का तरीका - लक्ष्य): "मैंने इस तरीके को इसलिए चुना क्योंकि एक गहरा वैज्ञानिक सिद्धांत स्पष्ट करता है कि यह इस तरह से ही क्यों काम करना चाहिए।"

निष्कर्ष

पेपर का निष्कर्ष है कि सॉफ्टवेयर इंजीनियरिंग रिसर्च वर्तमान में इस सीढ़ी पर बहुत नीचे है। शोधकर्ता अक्सर यह सोचे बिना निर्णय लेते हैं कि वे ऐसा क्यों कर रहे हैं।

सभी के लिए सबक:
जब आप कोई ऐसा अध्ययन पढ़ें जो कहता है "X के कारण Y होता है," तो याद रखें कि शोधकर्ता ने शायद बगीचे में एक विशिष्ट रास्ता लिया होगा। यदि उन्होंने थोड़ा अलग रास्ता लिया होता, तो वे कह सकते थे कि "X के कारण Z होता है।"

इसे ठीक करने के लिए, शोधकर्ताओं को चाहिए:

  1. पारदर्शी बनें: स्पष्ट रूप से बताएं कि उन्होंने अपने हर चुनाव के पीछे का कारण क्या रखा।
  2. मल्टीवर्स की जाँच करें: प्रकाशित करने से पहले, कुछ अलग "रास्ते" आजमाएं ताकि यह देखा जा सके कि क्या परिणाम कायम रहता है। यदि परिणाम हर रास्ते के साथ बदल जाता है, तो वह खोज नाजुक है और अभी उस पर भरोसा नहीं किया जाना चाहिए।

संक्षेप में: सिर्फ इसलिए कि आपने एक परिणाम खोज लिया है, इसका मतलब यह नहीं है कि यह एकमात्र सत्य है। यह केवल उस पथ का परिणाम हो सकता है जिस पर आप चलते हुए निकले थे।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →