CovAgent: Overcoming the 30% Curse of Mobile Application Coverage with Agentic AI and Dynamic Instrumentation
CovAgent एक अभिनव एजेंटिक AI फ्रेमवर्क है जो जटिल एक्टिवेशन स्थितियों की पहचान करने और उन्हें गतिशील रूप से संतुष्ट करने के लिए डिकम्पाइल्ड कोड का विश्लेषण करके मौजूदा एंड्रॉइड GUI टेस्टिंग टूल्स की सीमित कवरेज की समस्या को दूर करता है, जिससे यह अत्याधुनिक बेसलाइन्स की तुलना में एक्टिविटी, क्लास, मेथड और लाइन कवरेज को महत्वपूर्ण रूप से बढ़ाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक विशाल, जटिल एंड्रॉइड ऐप है, जैसे कि एक डिजिटल थीम पार्क जिसमें सैकड़ों राइड्स (स्क्रीन) और गुप्त सुरंगें (कोड पाथ) हैं। आपका लक्ष्य यह सुनिश्चित करने के लिए हर एक राइड पर जाना है कि वे सुरक्षित रूप से काम कर रही हैं।
वर्षों से, स्वचालित परीक्षण उपकरण (automated testing tools) इस थीम पार्क में घूमते हुए आंखों पर पट्टी बांधे हुए गाइड की तरह रहे हैं। वे बेतरतीब ढंग से दीवारों से टकराते हैं, बटन दबाते हैं और नई राइड खोजने की कोशिश करते हैं। लेकिन चाहे वे कितनी भी देर तक क्यों न दौड़ें, वे हमेशा एक ही जगह पर फंस जाते हैं: वे केवल लगभग 30% राइड्स तक ही पहुँच पाते हैं। बाकी 70% अदृश्य दरवाजों के पीछे बंद रह जाते हैं।
ये दरवाजे क्यों बंद हैं?
- कुछ राइड्स तभी खुलती हैं जब आपके पास एक विशिष्ट चाबी हो (जैसे कोई सर्वर रिस्पॉन्स या एक विशिष्ट यूजर अकाउंट)।
- कुछ के लिए एक विशिष्ट स्थान की आवश्यकता होती है (जैसे कि जीपीएस कोऑर्डिनेट)।
- कुछ के लिए आपके पास जेब में एक विशेष वस्तु होनी चाहिए (जैसे कि फोन से जुड़ा एसडी कार्ड)।
- कुछ एक गार्ड के पीछे छिपी होती हैं जो पहले यह जांचता है कि आपने कुछ विशिष्ट क्रियाएं की हैं या नहीं।
मौजूदा उपकरण इन नियमों को समझने में बहुत मूर्ख हैं। वे बस उन बंद दरवाजों से टकराते रहते हैं।
पेश है CovAgent: "मास्टर की" वाला एक "स्मार्ट डिटेक्टिव"
यह पेपर CovAgent को पेश करता है, जो एक नया सिस्टम है जो एक सुपर-स्मार्ट डिटेक्टिव और एक जादुई टूलकिट के रूप में कार्य करता है। केवल अंधेरे में इधर-उधर भागने के बजाय, CovAgent यह सुलझाने के लिए कि वे राइड्स क्यों लॉक हैं, एजेंटिक एआई (Agentic AI) (एक ऐसा एआई जो सोच सकता है, योजना बना सकता है और टूल्स का उपयोग कर सकता है) का उपयोग करता है।
यह यहाँ कैसे काम करता है, चरण-दर-चरण:
1. द स्काउट (प्रारंभिक अन्वेषण - The Scout)
सबसे पहले, CovAgent एक मानक, "मूर्ख" रोबोट (एक फज़र जैसे APE या Fastbot) को ऐप के चारों ओर दौड़ने के लिए भेजता है। यह रोबोट उन सभी राइड्स का मानचित्र बनाता है जिन्हें वह ढूंढ सकता है और उन्हें चिह्नित करता है जिन्हें वह नहीं ढूंढ पाता। यह एक स्काउट की तरह है जो कहता है, "मैंने मुख्य प्रवेश द्वार तो ढूंढ लिया, लेकिन मैं पीछे वाले रोलरकोस्टर तक नहीं पहुँच सकता।"
2. द डिटेक्टिव (स्टैटिक एनालिसिस एजेंट - The Detective)
एक बार जब स्काउट एक लॉक राइड को चिह्नित कर देता है, तो डिटेक्टिव एआई काम में आता है। वह केवल दरवाजे को नहीं देखता; वह थीम पार्क के ब्लूप्रिंट (ऐप का कोड) को देखता है।
- यह "स्मली कोड" (ऐप का निर्देश मैनुअल) को पढ़ता है।
- यह खुद से पूछता है: "यह राइड लॉक क्यों है? क्या इसे सर्वर सिग्नल की आवश्यकता है? क्या इसे एसडी कार्ड की आवश्यकता है? क्या कोई पासवर्ड चेक करने वाला गार्ड है?"
- चेन-ऑफ-थॉट (Chain-of-Thought) नामक तकनीक का उपयोग करते हुए, यह समस्या को छोटे हिस्सों में तोड़ता है: "ठीक है, राइड इसलिए शुरू नहीं हो रही है क्योंकि कोड चेक कर रहा है कि क्या एसडी कार्ड जुड़ा हुआ है। यदि कार्ड वहां नहीं है, तो राइड तुरंत बंद हो जाएगी।"
3. द मैजिशियन (डायनामिक इंस्ट्रूमेंटेशन एजेंट - The Magician)
अब जब डिटेक्टिव को नियम पता चल गया है ("हमें एक एसडी कार्ड चाहिए"), तो मैजिशियन एआई काम में आता है। यह एजेंट एक जादूगर है जो ऐप के चलते समय उसके भीतर की वास्तविकता को फिर से लिख सकता है।
- यह Frida (एक शक्तिशाली डायनामिक इंस्ट्रूमेंटेशन फ्रेमवर्क) नामक टूल का उपयोग करता है।
- भौतिक रूप से एसडी कार्ड लगाने के बजाय, मैजिशियन एक छोटा सा स्क्रिप्ट लिखता है जो ऐप को धोखा देता है।
- स्क्रिप्ट ऐप को बताती है: "दिखावा करो कि एक एसडी कार्ड जुड़ा हुआ है।"
- अचानक, दरवाजे पर खड़ा गार्ड "कार्ड" को देखता है, गेट खोल देता है और राइड शुरू हो जाती है।
4. द टेस्ट ड्राइव (वैलिडेशन - The Test Drive)
रोबोट को फिर से छोड़ने से पहले, सिस्टम इस नए "जादुई ट्रिक" को एक सुरक्षित, वर्चुअल वातावरण (एक एमुलेटर) में टेस्ट करता है। यदि ट्रिक विफल हो जाती है (उदाहरण के लिए, ऐप क्रैश हो जाता है), तो सिस्टम एरर मैसेज को मैजिशियन के पास वापस भेजता है, जो स्क्रिप्ट को फिर से लिखता है और फिर से प्रयास करता है। एक बार जब यह काम कर जाता है, तो स्क्रिप्ट को सेव कर लिया जाता है।
5. द ग्रैंड टूर (इंस्ट्रुमेंटेड एक्सप्लोरेशन - The Grand Tour)
अंत में, मानक रोबोट (फज़र) फिर से चलता है। लेकिन इस बार, ऐप मैजिशियन के स्क्रिप्ट्स के साथ लोड होता है। रोबोट एक बटन क्लिक करता है, और "जादू" की मदद से, वह तुरंत उस राइड तक टेलीपोर्ट हो जाता है जो पहले पहुंच से बाहर थी। अब वह पार्क के उस 70% हिस्से को एक्सप्लोर कर सकता है जो पहले एक रहस्य था।
परिणाम: श्राप को तोड़ना (Breaking the Curse)
पेपर दावा करता है कि यह दृष्टिकोण पूरी तरह से "30% के श्राप" को तोड़ देता है।
- पुराने टूल्स: लगभग 17% से 30% राइड्स तक पहुँच पाए।
- CovAgent: इसने 49% से 86% राइड्स तक की यात्रा की (विशिष्ट ऐप और टूल के आधार पर)।
- कुछ मामलों में, इसने पुराने तरीकों की तुलना में कवरेज में 179% तक सुधार किया।
एनालॉजी सारांश (Analogy Summary)
- ऐप: लॉक राइड्स वाला एक थीम पार्क।
- पुराने टूल्स: पार्क में डार्ट फेंकने वाले आंखों पर पट्टी बंधे बंदर। वे आसान चीजों से टकराते हैं लेकिन लॉक किए गए दरवाजों को नहीं खोल पाते।
- CovAgent: एक टीम जिसमें एक डिटेक्टिव (जो लॉक कोड खोजने के लिए ब्लूप्रिंट पढ़ता है) और एक मैजिशियन (जो ताला खोलने के लिए स्पेल/मंत्र का उपयोग करता है) शामिल है।
- परिणाम: बंदर अब पार्क की हर राइड पर जा सकते हैं, न कि केवल प्रवेश द्वार के पास वाली राइड्स पर।
पेपर इस बात पर जोर देता है कि यह केवल अधिक बग खोजने के बारे में नहीं है; यह पूरी तस्वीर देखने के बारे में है। यह समझने के लिए कि कोड क्यों अप्राप्य (unreachable) है और फिर उन बाधाओं को पार करने के लिए कोड इंजेक्शन का उपयोग करके, CovAgent स्वचालित परीक्षण को अंततः मोबाइल ऐप्स के "अंधेरे कोनों" तक पहुँचने की अनुमति देता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।