Readability and Understandability of Snippets Recommended by General-purpose Web Search Engines: a Comparative Study
Dantas, Maia
Developers often search for reusable code snippets on general-purpose web search engines like Google, Yahoo! or Microsoft Bing. But some of these code snippets may have poor quality in terms of readability or understandability. In this paper, we propose an empirical analysis to analyze the readability and understandability score from snippets extracted from the web using three independent variables: ranking, general-purpose web search engine, and recommended site. We collected the top-5 recommended sites and their respective code snippet recommendations using Google, Yahoo!, and Bing for 9,480 queries, and evaluate their readability and understandability scores. We found that some recommended sites have significantly better readability and understandability scores than others. The better-ranked code snippet is not necessarily more readable or understandable than a lower-ranked code snippet for all general-purpose web search engines. Moreover, considering the readability score, Google has better-ranked code snippets compared to Yahoo! or Microsoft Bing
academic
قابلية القراءة والفهم للمقتطفات البرمجية الموصى بها من محركات البحث العامة: دراسة مقارنة
يبحث المطورون بشكل متكرر عن مقتطفات برمجية قابلة لإعادة الاستخدام على محركات البحث العامة مثل Google و Yahoo! و Microsoft Bing. ومع ذلك، قد تكون هذه المقتطفات ذات جودة منخفضة من حيث قابلية القراءة أو الفهم. تقدم هذه الورقة تحليلاً تجريبياً باستخدام ثلاثة متغيرات مستقلة (الترتيب، محرك البحث العام، وموقع التوصية) لتحليل درجات قابلية القراءة والفهم للمقتطفات البرمجية المستخرجة من الويب. جمعت الدراسة أفضل 5 مواقع موصى بها من Google و Yahoo! و Bing لـ 9,480 استعلام ومقتطفاتها البرمجية المقابلة، وقيّمت درجات قابلية القراءة والفهم الخاصة بها. وجدت الدراسة أن بعض مواقع التوصية تتفوق بشكل كبير على مواقع أخرى من حيث درجات قابلية القراءة والفهم. المقتطفات البرمجية ذات الترتيب الأعلى ليست بالضرورة أكثر قابلية للقراءة أو الفهم من تلك ذات الترتيب الأقل في جميع محركات البحث العامة. بالإضافة إلى ذلك، من حيث درجات قابلية القراءة، يتمتع Google بترتيب أفضل للمقتطفات البرمجية مقارنة بـ Yahoo! أو Microsoft Bing.
المشكلة الأساسية: توجد فروقات في الجودة من حيث قابلية القراءة والفهم في المقتطفات البرمجية الموصى بها من محركات البحث العامة، والمقتطفات ذات الترتيب الأعلى ليست بالضرورة ذات جودة أفضل
الاحتياجات العملية: يستخدم المطورون محركات البحث العامة على نطاق واسع للبحث عن أمثلة برمجية، لكن يفتقر إلى تقييم منهجي لجودة هذه المقتطفات
قيود محركات البحث: بالرغم من أن Google تملك أكثر من 200 عامل ترتيب، إلا أن الصفحات ذات الترتيب الأعلى قد تحتوي على أمثلة برمجية ذات جودة منخفضة
تستشهد الورقة بحالة بحثية من Hora: عند البحث في Google عن "File.mkdirs examples"، يحتل مقتطف Tutorialspoint ترتيباً أعلى بسبب احتوائه على شرح باللغة الطبيعية مشابه للاستعلام، رغم أن مؤشرات قابلية القراءة وإعادة الاستخدام أقل.
أول دراسة مقارنة منهجية: تحليل مقارن واسع النطاق لقابلية القراءة والفهم للمقتطفات البرمجية الموصى بها من ثلاثة محركات بحث رئيسية (Google و Yahoo! و Microsoft Bing)
بناء مجموعة بيانات واسعة النطاق: جمع 47,400 رابط ويب لـ 9,480 استعلام، يغطي 5,355 موقع مختلف
إطار تحليل متعدد الأبعاد: اقتراح طريقة تحليل قائمة على ثلاثة متغيرات مستقلة (الترتيب، محرك البحث، وموقع التوصية)
النتائج التجريبية: إثبات فرضيتين مهمتين: المقتطفات ذات الترتيب الأعلى ليست بالضرورة ذات قابلية قراءة/فهم أعلى؛ توجد فروقات كبيرة في جودة الأكواد بين مواقع التوصية المختلفة
توحيد معايير قياس الفهم: اقتراح طريقة معيارية لتحويل التعقيد المعرفي إلى الفترة 0,1
المدخلات: عبارات استعلام متعلقة بالبرمجة
المخرجات: درجات قابلية القراءة والفهم للمقتطفات البرمجية
القيود: تحليل مقتطفات Java فقط، مع الأخذ في الاعتبار أفضل 5 نتائج بحث
تستشهد الورقة بـ 23 مرجع ذي صلة، تتضمن بشكل أساسي:
طرق قياس قابلية القراءة والفهم للأكواد
أبحاث البحث والتوصية بالأكواد
تحليل جودة أكواد StackOverflow
أبحاث آليات ترتيب محركات البحث
التقييم الشامل: هذه ورقة بحثية عالية الجودة في مجال هندسة البرمجيات التجريبية، تملأ فراغاً بحثياً في تقييم جودة البحث عن الأكواد، وتتمتع بقيمة نظرية وعملية مهمة. الطريقة البحثية علمية وصارمة، حجم البيانات كافٍ، موثوقية النتائج عالية، وتوفر رؤى قيمة للمطورين والباحثين.