ATGBuilder: Feature-Assisted Graph Learning for Activity Transition Graph Construction with Seed Supervision
ATGBuilder एक फीचर-असिस्टेड ग्राफ लर्निंग फ्रेमवर्क है जो मौजूदा अत्याधुनिक विधियों की तुलना में एंड्रॉइड अनुप्रयोगों के लिए एक्टिविटी ट्रांज़िशन ग्राफ निर्माण की सटीकता में उल्लेखनीय सुधार करने के लिए UI मेटाडेटा को सारांशित करने और विजेट-ट्रिगर जानकारी को स्पष्ट रूप से मॉडल करने के लिए लार्ज लैंग्वेज मॉडल्स का लाभ उठाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास हजारों कमरों वाला एक विशाल, जटिल भूलभुलैया (maze) है। प्रत्येक कमरा एक एंड्रॉइड ऐप की एक स्क्रीन है, और कमरों के बीच के दरवाजे वे तरीके हैं जिनसे आप एक स्क्रीन से दूसरी स्क्रीन पर जा सकते हैं। सॉफ्टवेयर टेस्टिंग की दुनिया में, हम इस मानचित्र को एक्टिविटी ट्रांजिशन ग्राफ (ATG) कहते हैं। यह एक ब्लूप्रिंट है जो दिखाता है कि एक उपयोगकर्ता ऐप के माध्यम से कैसे नेविगेट कर सकता है।
समस्या यह है कि इस मानचित्र को बनाना बेहद कठिन है।
- स्टैटिक एनालिसिस (Static analysis) (बिना ऐप चलाए उसके कोड को देखना) ऐसा है जैसे ब्लूप्रिंट देखकर नक्शा बनाने की कोशिश करना। यह तेज़ है, लेकिन इसमें वे दरवाजे छूट जाते हैं जो केवल रोशनी चालू करने पर खुलते हैं, या यह ऐसे दरवाजे बना देता है जो ईंट की दीवारों की ओर ले जाते हैं।
- डायनेमिक एक्सप्लोरेशन (Dynamic exploration) (वास्तव में ऐप चलाना और इधर-उधर क्लिक करना) ऐसा है जैसे एक रोबोट को भूलभुलैया में टहलने के लिए भेजना। वह असली दरवाजे तो ढूंढ लेता है, लेकिन रोबोट थक जाता है, उसकी बैटरी खत्म हो जाती है, और वह हार मानने से पहले भूलभुलैया का बहुत छोटा हिस्सा ही मैप कर पाता है।
AtgBuilder एक नया टूल है जिसे इसे ठीक करने के लिए डिज़ाइन किया गया है। यह एक सुपर-स्मार्ट जासूस की तरह काम करता है जो ब्लूप्रिंट पढ़ने की गति और एक मानव खोजकर्ता की सहज बुद्धि को जोड़ता है ताकि एक पूर्ण और सटीक मानचित्र बनाया जा सके।
यह कैसे काम करता है, यहाँ सरल उपमाओं (analogies) का उपयोग किया गया है:
1. "समरी" वाली ट्रिक ( "एक जैसा दिखने" की समस्या का समाधान)
कल्पना कीजिए कि दो अलग-अलग कॉफी शॉप हैं। एक का डिज़ाइन आधुनिक और कांच की दीवारों वाला है। दूसरा एक आरामदायक, देहाती केबिन है जिसमें लकड़ी के बीम लगे हैं। वे दिखने में पूरी तरह अलग हैं, लेकिन दोनों एक ही चीज़ परोसते हैं: कॉफी।
पुराने तरीकों ने ऐप को "लकड़ी" या "कांच" (विशिष्ट विजुअल लेआउट) को देखकर मैप करने की कोशिश की। यह विफल रहा क्योंकि हर ऐप में एक ही फंक्शन (जैसे "लॉगिन") पूरी तरह से अलग दिख सकता है।
AtgBuilder का समाधान: यह एक लार्ज लैंग्वेज मॉडल (LLM) का उपयोग करता है—इसे एक बहुत ही समझदार लाइब्रेरियन की तरह समझें—जो एक स्क्रीन के ब्लूप्रिंट को पढ़ता है और एक वाक्य में उसका सारांश (summary) लिखता है कि वह स्क्रीन क्या करती है।
- यह कहने के बजाय कि "इस स्क्रीन में एक नीला बटन और एक सफेद बॉक्स है," यह कहता है, "यह लॉगिन स्क्रीन है।"
- अब, भले ही दो ऐप्स अलग दिखें, सिस्टम जानता है कि वे दोनों "लॉगिन स्क्रीन" हैं और वह अनुमान लगा सकता है कि वे ऐप के अन्य हिस्सों से कैसे जुड़ते हैं। यह फर्नीचर पर नहीं, बल्कि कार्य (function) पर ध्यान केंद्रित करता है।
2. "बटन किसने दबाया?" वाली ट्रिक ("कौन सा दरवाजा?" की समस्या का समाधान)
एक कमरे में, आपके पास एक लाल दरवाजा, एक नीला दरवाजा और एक हरा दरवाजा हो सकता है। यदि आप केवल कहते हैं "कमरा A से कमरा B पर जाएं," तो आपको यह नहीं पता चलेगा कि आपने कौन सा दरवाजा इस्तेमाल किया। लेकिन एक ऐप में, जिस विशिष्ट बटन (widget) को आप दबाते हैं, वह मायने रखता है।
AtgBuilder का समाधान: केवल दो कमरों के बीच एक रेखा खींचने के बजाय, Atg-Builder उस रेखा के साथ एक "टैग" लगा देता है जो बताता है कि उस दरवाजे को खोलने के लिए किस बटन को दबाया गया था।
- यह बटन की जानकारी को पथ (path) के एक अलग लेबल के रूप में मानता है, न कि कमरे के विवरण के हिस्से के रूप में।
- यह सुनिश्चित करने के लिए कि वह इन टैग्स को याद रखे, यह प्रशिक्षण के दौरान एक छोटा सा खेल खेलता है: यह अभी-अभी बनाए गए पथ के आधार पर बटन के नाम का अनुमान लगाने की कोशिश करता है। यदि यह सही होता है, तो यह बेहतर सीखता है। यदि यह गलत होता है, तो यह सुधार करता है। यह सुनिश्चित करता है कि "बटन किसने दबाया" वाला विवरण खो न जाए।
3. "स्मार्ट गेसिंग" इंजन
एक बार जब AtgBuilder के पास सारांश और बटन टैग आ जाते हैं, तो यह एक ग्राफ न्यूरल नेटवर्क (GNN) का उपयोग करता है। इसे एक सुपर-पावर्ड पैटर्न मैचर समझें।
- यह "लॉगिन स्क्रीन" के सारांश और "होम स्क्रीन" के सारांश को देखता है।
- यह देखता है कि अन्य ऐप्स इन दो स्क्रीनों को कैसे जोड़ते हैं।
- यह विशिष्ट बटन टैग्स को देखता है।
- फिर, यह भविष्यवाणी करता है: "90% संभावना है कि इन दो स्क्रीनों के बीच एक दरवाजा मौजूद है।"
क्या यह वास्तव में काम करता है?
शोधकर्ताओं ने इसका परीक्षण 98 अलग-अलग ऐप्स पर किया जहाँ उनके पास पहले से ही इंसानों द्वारा बनाया गया "सही" मानचित्र (ग्राउंड ट्रुथ) मौजूद था।
- परिणाम: AtgBuilder मौजूदा सर्वोत्तम टूल्स की तुलना में काफी बेहतर था। इसने पिछले तरीकों की तुलना में मानचित्र की सटीकता में लगभग 15% से 77% तक सुधार किया।
- "रोबस्टनेस" (Robustness) टेस्ट: उन्होंने सिस्टम को गलत डेटा देकर (जैसे यह बताकर कि एक दरवाजा मौजूद है जबकि वह नहीं है) इसे चकमा देने की कोशिश की। AtgBuilder आश्चर्यजनक रूप से मजबूत था; यह आसानी से भ्रमित नहीं हुआ और फिर भी एक अच्छा मानचित्र बनाया।
"जीपीएस" बोनस
अंत में, शोधकर्ताओं ने पूछा: "यदि हम इस मानचित्र को स्वचालित रूप से ऐप टेस्ट करने वाले रोबोट्स को दें, तो क्या इससे मदद मिलेगी?"
- उन्होंने तीन लोकप्रिय टेस्टिंग रोबोट्स (Monkey, APE, और FastBot2) को लिया और उन्हें AtgBuilder का मानचित्र एक "जीपीएस गाइड" के रूप में दिया।
- परिणाम: रोबोट्स ने अपने दम पर जितना किया, उससे कहीं अधिक कमरे और अधिक दरवाजे खोजे। मानचित्र ने रोबोट्स की जगह नहीं ली; इसने बस उन्हें दिशा का बेहतर अहसास दिया ताकि वे चक्कर काटने में समय बर्बाद न करें।
संक्षेप में
AtgBuilder एक ऐसा टूल है जो हमें यह समझने में मदद करता है कि एंड्रॉइड ऐप्स कैसे काम करते हैं, वह भी:
- अव्यवस्थित विजुअल विवरणों को अनदेखा करके और स्क्रीन वास्तव में क्या करती है (AI सारांशों का उपयोग करके) उस पर ध्यान केंद्रित करके।
- यह याद रखकर कि किस विशिष्ट बटन ने दरवाजा खोला।
- एक स्मार्ट पैटर्न-मैचिंग इंजन का उपयोग करके ऐप के लुप्त हिस्सों को भरने के लिए।
इसके परिणामस्वरूप ऐप का बहुत अधिक पूर्ण और सटीक मानचित्र प्राप्त होता है, जो डेवलपर्स और टेस्टर्स को बग खोजने और सॉफ़्टवेयर को समझने में बहुत तेज़ी से मदद करता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।