This paper presents eye2vec, an infrastructure for analyzing software developers' eye movements while reading source code. In common eye-tracking studies in program comprehension, researchers must preselect analysis targets such as control flow or syntactic elements, and then develop analysis methods to extract appropriate metrics from the fixation for source code. Here, researchers can define various levels of AOIs like words, lines, or code blocks, and the difference leads to different results. Moreover, the interpretation of fixation for word/line can vary across the purposes of the analyses. Hence, the eye-tracking analysis is a difficult task that depends on the time-consuming manual work of the researchers. eye2vec represents continuous two fixations as transitions between syntactic elements using distributed representations. The distributed representation facilitates the adoption of diverse data analysis methods with rich semantic interpretations.
- पेपर ID: 2510.11722
- शीर्षक: eye2vec: Learning Distributed Representations of Eye Movement for Program Comprehension Analysis
- लेखक: Haruhiko Yoshioka, Kazumasa Shimari, Hidetake Uwano, Kenichi Matsumoto
- वर्गीकरण: cs.SE (सॉफ्टवेयर इंजीनियरिंग)
- प्रकाशन समय/सम्मेलन: ETRA '25 (2025 Symposium on Eye Tracking Research and Applications), 26-29 मई, 2025, टोक्यो, जापान
- पेपर लिंक: https://arxiv.org/abs/2510.11722
यह पेपर eye2vec प्रस्तुत करता है, जो सॉफ्टवेयर विकासकर्ताओं द्वारा स्रोत कोड पढ़ते समय नेत्र गति व्यवहार का विश्लेषण करने के लिए एक बुनियादी ढांचा है। पारंपरिक प्रोग्राम समझ नेत्र ट्रैकिंग अनुसंधान में, शोधकर्ताओं को विश्लेषण लक्ष्य (जैसे नियंत्रण प्रवाह या वाक्य-विन्यास तत्व) पहले से चुनने होंगे, फिर स्रोत कोड की दृष्टि से उपयुक्त मेट्रिक्स निकालने के लिए विश्लेषण विधि विकसित करनी होगी। शोधकर्ता रुचि के विभिन्न स्तरों (AOI) को परिभाषित कर सकते हैं, जैसे शब्द, पंक्ति या कोड ब्लॉक, ये अंतर विभिन्न परिणाम देते हैं। इसके अलावा, शब्द/पंक्ति दृष्टि का व्याख्या विश्लेषण उद्देश्य के अनुसार भिन्न होता है। इसलिए, नेत्र ट्रैकिंग विश्लेषण एक कठिन कार्य है जो शोधकर्ताओं के समय लेने वाले मैनुअल कार्य पर निर्भर करता है। eye2vec वितरित प्रतिनिधित्व का उपयोग करके क्रमिक दो दृष्टि बिंदुओं को वाक्य-विन्यास तत्वों के बीच संक्रमण के रूप में प्रस्तुत करता है। वितरित प्रतिनिधित्व विविध डेटा विश्लेषण विधियों को अपनाने को सुविधाजनक बनाता है, समृद्ध शब्दार्थ व्याख्या के साथ।
पारंपरिक नेत्र ट्रैकिंग विश्लेषण प्रोग्राम समझ अनुसंधान में कई प्रमुख चुनौतियों का सामना करता है:
- विश्लेषण लक्ष्य पूर्व-चयन समस्या: शोधकर्ताओं को विश्लेषण करने के लिए विशिष्ट वाक्य-विन्यास तत्वों या नियंत्रण प्रवाह को पहले से निर्धारित करना होगा, यह चयन बड़े हिस्से में शोधकर्ता के अनुभव पर निर्भर करता है
- AOI परिभाषा की व्यक्तिपरकता: रुचि के विभिन्न क्षेत्र की परिभाषा (शब्द स्तर, पंक्ति स्तर, कोड ब्लॉक स्तर) विभिन्न विश्लेषण परिणाम देते हैं
- एकल शब्दार्थ विश्लेषण की सीमा: मौजूदा अनुसंधान आमतौर पर केवल एकल अर्थ पर ध्यान केंद्रित करता है, एक साथ कई शब्दार्थ स्तरों का विश्लेषण करना मुश्किल है
- मैनुअल विश्लेषण की अक्षमता: पारंपरिक विधियों को बड़े पैमाने पर मानव हस्तक्षेप और समय की आवश्यकता होती है
विकासकर्ता की नेत्र गति पैटर्न को समझना निम्नलिखित के लिए महत्वपूर्ण है:
- विशेषज्ञ विकासकर्ताओं की समझ के पैटर्न और रणनीतियों को निकालना
- विकास दक्षता में सुधार
- विकासकर्ता शिक्षा में सुधार
- कोड पठनीयता डिजाइन को अनुकूलित करना
उदाहरण के लिए, विधि सारांश कार्य में, विशेषज्ञ विकासकर्ता सबसे अधिक बार पढ़ी जाने वाली कोड पंक्तियों के आधार पर सारांश उत्पन्न करते हैं।
- शोधकर्ता के अनुभव पर निर्भरता: विश्लेषण विधि का चयन अत्यधिक व्यक्तिपरक है
- शब्दार्थ जानकारी की कमी: पारंपरिक निर्देशांक या पंक्ति संख्या आधारित मानचित्रण शब्दार्थ समझ की कमी है
- बहु-आयामी विश्लेषण में कठिनाई: वाक्य-विन्यास तत्वों और संरचनात्मक अर्थ को एक साथ विचार करना मुश्किल है
- कम स्वचालन: बड़े पैमाने पर मैनुअल फीचर इंजीनियरिंग की आवश्यकता है
- eye2vec बुनियादी ढांचा प्रस्तुत किया: नेत्र गति डेटा को स्रोत कोड वितरित प्रतिनिधित्व के साथ जोड़ने वाला पहला विश्लेषण ढांचा
- शब्दार्थ स्तर की नेत्र गति विश्लेषण लागू किया: निर्देशांक मानचित्रण के बजाय वाक्य-विन्यास तत्व मानचित्रण के माध्यम से, बहु-स्तरीय शब्दार्थ व्याख्या का समर्थन करता है
- स्वचालित बहु-आयामी विश्लेषण का समर्थन: वितरित प्रतिनिधित्व का उपयोग करके कई शब्दार्थ पहलुओं को कैप्चर करता है, मशीन लर्निंग और गहन शिक्षण विधियों का समर्थन करता है
- दो प्रमुख अनुप्रयोग परिदृश्य प्रदान किए: डेटा माइनिंग विश्लेषण समर्थन और मशीन लर्निंग आधारित लेबल भविष्यवाणी
इनपुट: विकासकर्ता द्वारा स्रोत कोड पढ़ते समय नेत्र गति निर्देशांक डेटा और संबंधित स्रोत कोड
आउटपुट: नेत्र गति विशेषताओं का प्रतिनिधित्व करने वाले वितरित वेक्टर (eye vector)
उद्देश्य: निर्देशांक आधारित नेत्र गति डेटा को शब्दार्थ अर्थ वाले वितरित प्रतिनिधित्व में परिवर्तित करना
eye2vec में निम्नलिखित मुख्य मॉड्यूल हैं:
- कार्य: नेत्र ट्रैकिंग डिवाइस द्वारा रिकॉर्ड किए गए निर्देशांकों को स्रोत कोड में पंक्ति संख्या और स्तंभ संख्या में परिवर्तित करना
- कार्यान्वयन: निर्देशांक से कोड स्थिति मानचित्रण के लिए iTrace उपकरण का उपयोग
- कार्य: स्रोत कोड से पथ संदर्भ (path contexts) निकालना
- तंत्र: पथ संदर्भ अमूर्त वाक्य-विन्यास वृक्ष (AST) पर दो शब्दों के बीच का पथ है
- आउटपुट: पथ संदर्भ और उनके संबंधित पूर्व-प्रशिक्षित एम्बेडिंग वेक्टर
- कार्य: पंक्ति स्तंभ संख्या को पथ संदर्भ से जोड़ना
- प्रसंस्करण: नेत्र गति डेटा को पथ संदर्भ के वेक्टर और दृष्टि गणना में परिवर्तित करना
- नवाचार: दृष्टि गणना को अनुपात में परिवर्तित करना, विकासकर्ता विशेषताओं को प्रतिबिंबित करता है
- कार्य: अंतिम eye vector उत्पन्न करने के लिए वेक्टर और दृष्टि गणना को एकत्रित करना
- भारित तंत्र: दृष्टि आवृत्ति के अनुसार एम्बेडिंग वेक्टर पर वजन लागू करना
- आउटपुट: नेत्र गति विशेषताओं का प्रतिनिधित्व करने वाला अंतिम वितरित प्रतिनिधित्व
- नवाचार: निर्देशांक मानचित्रण से वाक्य-विन्यास तत्व मानचित्रण की ओर
- लाभ: जटिल कोड संरचना (लूप, शाखा) में नेत्र गति पैटर्न की व्याख्या कर सकता है
- तंत्र: दृष्टि आवृत्ति के आधार पर पथ संदर्भ वेक्टर को भारित करना
- प्रभाव: विकासकर्ता द्वारा ध्यान दिए गए महत्वपूर्ण शब्दार्थ संबंधों को उजागर करता है
- क्षमता: उच्च-स्तरीय शब्दार्थ विश्लेषण (समझ रणनीति) और निम्न-स्तरीय विश्लेषण (चर संचालन ट्रैकिंग) दोनों का समर्थन करता है
- कार्यान्वयन: वितरित प्रतिनिधित्व के माध्यम से कई पथ संदर्भों के संबंधों को एकीकृत करना
- नेत्र गति डेटा: विकासकर्ता द्वारा स्रोत कोड पढ़ते समय दृष्टि बिंदु निर्देशांक
- स्रोत कोड: संबंधित प्रोग्राम स्रोत फाइलें
- बाधा: वर्तमान संस्करण केवल नेत्र गति डेटा इनपुट स्वीकार करता है, व्यक्तिगत जानकारी से जुड़ा नहीं है
- नेत्र गति निर्देशांक → कोड पंक्ति स्तंभ स्थिति
- स्रोत कोड → AST पथ संदर्भ
- स्थिति जानकारी को पथ संदर्भ से जोड़ना
- भारित वितरित प्रतिनिधित्व उत्पन्न करना
- क्षमता: अन्वेषणात्मक डेटा माइनिंग विश्लेषण का समर्थन करता है
- लाभ: पारंपरिक निर्देशांक आधारित विश्लेषण की तुलना में अधिक समृद्ध शब्दार्थ जानकारी प्रदान करता है
- अनुप्रयोग: शब्दार्थ समान वाक्य-विन्यास तत्व समूहों में प्रवृत्तियों के संभावित अर्थ की जांच करना
- कार्य: नेत्र गति डेटा के आधार पर विकासकर्ता विशेषताओं की भविष्यवाणी करना
- भविष्यवाणी लक्ष्य:
- विशिष्ट भाषा में विकासकर्ता की दक्षता
- प्रोग्राम समझ स्तर
- शैक्षिक अनुप्रयोग: व्यक्तिगत विकासकर्ताओं के लिए अनुकूलित शिक्षण समर्थन प्रदान करना
- वेक्टर स्पेस समानता: समझ पैटर्न के बीच समानता को मापने में सक्षम
- स्वचालन स्तर: मशीन लर्निंग और गहन शिक्षण तकनीकों के स्वचालित विश्लेषण का समर्थन करता है
- बहु-आयामी विश्लेषण: एक साथ कई शब्दार्थ स्तरों पर विचार करता है
- Abid et al. (2019): विधि सारांश कार्य में नेत्र गति विश्लेषण, पाया कि विशेषज्ञ बार-बार पढ़ी जाने वाली पंक्तियों के आधार पर सारांश उत्पन्न करते हैं
- Lin et al. (2016): प्रोग्राम डिबगिंग प्रक्रिया में संज्ञानात्मक प्रक्रिया ट्रैकिंग
- Sharafi et al. (2022): विकासकर्ता कोड नेविगेशन रणनीति अनुसंधान
- code2vec (Alon et al. 2019): कोड वितरित प्रतिनिधित्व सीखने की विधि
- iTrace (Guarnera et al. 2018): विकास वातावरण में नेत्र ट्रैकिंग बुनियादी ढांचा
- शब्दार्थ समझ: पारंपरिक निर्देशांक मानचित्रण से परे, शब्दार्थ स्तर विश्लेषण प्रदान करता है
- स्वचालन: शोधकर्ता के अनुभव पर निर्भरता को कम करता है
- बहु-आयामीता: एक साथ कई शब्दार्थ स्तरों का विश्लेषण करने का समर्थन करता है
- eye2vec ने नेत्र गति डेटा के शब्दार्थ स्तर वितरित प्रतिनिधित्व को सफलतापूर्वक लागू किया है
- यह विधि स्वचालित बहु-आयामी शब्दार्थ विश्लेषण का समर्थन करती है
- नेत्र ट्रैकिंग अनुसंधान के लिए नया बुनियादी ढांचा और विश्लेषण प्रतिमान प्रदान करता है
- गोपनीयता सुरक्षा प्रतिबंध: वर्तमान संस्करण केवल नेत्र गति डेटा स्वीकार करता है, व्यक्तिगत जानकारी से जुड़ा नहीं है
- पूर्व-प्रशिक्षित मॉडल पर निर्भरता: code2vec जैसे पूर्व-प्रशिक्षित कोड प्रतिनिधित्व मॉडल की आवश्यकता है
- अपर्याप्त सत्यापन: बड़े पैमाने पर अनुभवजन्य सत्यापन और पारंपरिक विधियों के साथ व्यवस्थित तुलना की कमी है
- अनुप्रयोग उपकरण विकास: eye2vec पर आधारित मशीन लर्निंग और गहन शिक्षण अनुप्रयोग उपकरण बनाना
- स्वचालित पैटर्न निष्कर्षण: शोधकर्ताओं को उपयोगी समझ पैटर्न को कुशलतापूर्वक निकालने का समर्थन करना
- अनुप्रयोग परिदृश्य विस्तार: प्रोग्राम समझ कार्यों में अधिक अनुप्रयोग अन्वेषण करना
- प्रतिमान परिवर्तन: निर्देशांक मानचित्रण से शब्दार्थ मानचित्रण में महत्वपूर्ण बदलाव
- तकनीकी संलयन: नेत्र ट्रैकिंग और कोड प्रतिनिधित्व सीखने को कुशलतापूर्वक जोड़ता है
- स्वचालन वृद्धि: मानव हस्तक्षेप की आवश्यकता को महत्वपूर्ण रूप से कम करता है
- बहु-स्तरीय विश्लेषण: उच्च-स्तरीय और निम्न-स्तरीय शब्दार्थ विश्लेषण दोनों का समर्थन करता है
- वितरित प्रतिनिधित्व: नेत्र गति विश्लेषण में आधुनिक प्रतिनिधित्व सीखने की विधि का परिचय देता है
- विस्तारशीलता: बाद के अनुसंधान के लिए सामान्य बुनियादी ढांचा प्रदान करता है
- शैक्षिक अनुप्रयोग: व्यक्तिगत विकासकर्ता शिक्षा का समर्थन करता है
- दक्षता वृद्धि: स्वचालित विश्लेषण अनुसंधान लागत को कम करता है
- मानकीकरण: एकीकृत विश्लेषण ढांचा प्रदान करता है
- तुलनात्मक प्रयोग की कमी: पारंपरिक विधियों के साथ व्यवस्थित प्रदर्शन तुलना नहीं की गई है
- सीमित सत्यापन डेटा: बड़े डेटासेट सत्यापन की कमी है
- प्रभाव परिमाणीकरण की कमी: विशिष्ट प्रदर्शन सुधार डेटा प्रदान नहीं किया गया है
- पैरामीटर सेटिंग की कमी: प्रमुख हाइपरपैरामीटर विस्तार से नहीं बताए गए हैं
- जटिलता विश्लेषण की कमी: कम्प्यूटेशनल जटिलता और दक्षता का विश्लेषण नहीं किया गया है
- मजबूती अज्ञात: विभिन्न प्रकार के कोड के अनुकूलन की क्षमता सत्यापित नहीं की गई है
- गोपनीयता बाधा: वर्तमान डिजाइन कुछ अनुप्रयोग परिदृश्यों को सीमित करता है
- मजबूत निर्भरता: कई बाहरी उपकरणों और पूर्व-प्रशिक्षित मॉडल पर निर्भर है
- सामान्यीकरण क्षमता अज्ञात: विभिन्न प्रोग्रामिंग भाषाओं पर प्रदर्शन सत्यापित नहीं किया गया है
- नई अनुसंधान दिशा: नेत्र ट्रैकिंग अनुसंधान के लिए नया पथ खोलता है
- पद्धति नवाचार: पुन: प्रयोग योग्य विश्लेषण ढांचा प्रदान करता है
- अंतर-विषय संलयन: सॉफ्टवेयर इंजीनियरिंग और संज्ञानात्मक विज्ञान को जोड़ता है
- उपकरण विकास: संबंधित उपकरण विकास के लिए आधार प्रदान करता है
- मानक स्थापना: क्षेत्र की मानक विधि बनने की संभावना है
- औद्योगिक अनुप्रयोग: विकासकर्ता प्रशिक्षण और कोड अनुकूलन में अनुप्रयोग की संभावना है
- प्रोग्राम समझ अनुसंधान: संज्ञानात्मक प्रक्रिया अनुसंधान के लिए नया उपकरण प्रदान करता है
- विकासकर्ता व्यवहार विश्लेषण: बड़े पैमाने पर विकासकर्ता व्यवहार अनुसंधान का समर्थन करता है
- शैक्षिक अनुसंधान: प्रोग्रामिंग शिक्षा प्रभावशीलता मूल्यांकन और अनुकूलन
- IDE अनुकूलन: एकीकृत विकास वातावरण के उपयोगकर्ता अनुभव में सुधार करता है
- कोड समीक्षा: कोड पठनीयता मूल्यांकन में सहायता करता है
- प्रशिक्षण प्रणाली: विकासकर्ता कौशल मूल्यांकन और व्यक्तिगत प्रशिक्षण
- Alon et al. (2019): Code2Vec: Learning Distributed Representations of Code - कोड वितरित प्रतिनिधित्व की तकनीकी आधार प्रदान करता है
- Guarnera et al. (2018): ITrace: Eye Tracking Infrastructure for Development Environments - नेत्र ट्रैकिंग के लिए तकनीकी समर्थन प्रदान करता है
- Abid et al. (2019): Developer reading behavior while summarizing Java methods - प्रोग्राम समझ में नेत्र गति विश्लेषण के अनुप्रयोग मूल्य को प्रदर्शित करता है
- Lin et al. (2016): प्रोग्राम डिबगिंग में संज्ञानात्मक प्रक्रिया ट्रैकिंग
- Sharafi et al. (2022): विकासकर्ता कोड नेविगेशन रणनीति अनुसंधान
समग्र मूल्यांकन: यह एक नवाचारी बुनियादी ढांचा पेपर है जो नेत्र गति डेटा को कोड शब्दार्थ प्रतिनिधित्व के साथ जोड़ने की नई विधि प्रस्तुत करता है। हालांकि प्रयोगात्मक सत्यापन के पहलू में सुधार की आवश्यकता है, लेकिन इसके तकनीकी नवाचार और अनुप्रयोग संभावना ध्यान देने योग्य है। यह विधि प्रोग्राम समझ की नेत्र गति विश्लेषण अनुसंधान के लिए नया तकनीकी पथ प्रदान करती है, संबंधित क्षेत्र के विकास को आगे बढ़ाने की संभावना रखती है।