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
Lesbarkeit und Verständlichkeit von Snippets, die von allgemeinen Web-Suchmaschinen empfohlen werden: eine vergleichende Studie
Entwickler suchen häufig auf allgemeinen Suchmaschinen wie Google, Yahoo! oder Microsoft Bing nach wiederverwendbaren Code-Snippets. Diese Code-Snippets können jedoch in Bezug auf Lesbarkeit oder Verständlichkeit von geringerer Qualität sein. Dieses Papier präsentiert eine empirische Analyse, die drei unabhängige Variablen (Ranking, allgemeine Suchmaschine und empfehlendes Portal) verwendet, um Lesbarkeits- und Verständlichkeitsbewertungen von aus dem Web extrahierten Code-Snippets zu analysieren. Die Studie sammelte die Top-5-empfohlenen Websites und deren entsprechende Code-Snippet-Empfehlungen von Google, Yahoo! und Bing für 9.480 Anfragen und bewertete deren Lesbarkeits- und Verständlichkeitswerte. Die Studie zeigt, dass bestimmte empfehlendes Portale in Bezug auf Lesbarkeits- und Verständlichkeitsbewertungen deutlich besser abschneiden als andere. Code-Snippets mit höherem Ranking sind nicht unbedingt lesbarer oder verständlicher als Code-Snippets mit niedrigerem Ranking bei allen allgemeinen Suchmaschinen. Darüber hinaus hat Google bei den Lesbarkeits-Bewertungen bessere Code-Snippet-Rankings als Yahoo! oder Microsoft Bing.
Kernproblem: Code-Snippets, die von allgemeinen Suchmaschinen empfohlen werden, weisen Qualitätsunterschiede in Bezug auf Lesbarkeit und Verständlichkeit auf; Code-Snippets mit höherem Ranking sind nicht unbedingt von besserer Qualität
Praktischer Bedarf: Entwickler nutzen häufig allgemeine Suchmaschinen zur Suche nach Code-Beispielen, es fehlt jedoch eine systematische Bewertung der Qualität dieser Code-Snippets
Suchmaschinen-Einschränkungen: Obwohl Google über 200 Ranking-Faktoren verfügt, können Seiten mit höherem Ranking möglicherweise Code-Beispiele von geringerer Qualität enthalten
Die Wiederverwendung von Code-Snippets kann die Zeit für Programmieraufgaben reduzieren und den Entwicklungsprozess beschleunigen
Google verfügt über einen Marktanteil von über 90% bei Suchmaschinen, aber die Code-Qualitäts-Ranking-Situation anderer Suchmaschinen ist unbekannt
Es ist notwendig, die gegenseitige Beziehung zwischen Lesbarkeit und Verständlichkeit zu verstehen: Lesbarkeit bezieht sich auf das Verständnis der Syntax, Verständlichkeit bezieht sich auf semantische Aspekte
Das Papier zitiert einen Forschungsfall von Hora: Bei der Google-Suche nach „File.mkdirs examples" wird das Code-Snippet von Tutorialspoint trotz schlechterer Lesbarkeits- und Wiederverwendbarkeitskennzahlen höher eingestuft, da es eine natürlichsprachige Erklärung enthält, die der Anfrage ähnelt.
Erste systematische Vergleichsstudie: Großangelegte vergleichende Analyse der Lesbarkeit und Verständlichkeit von Code-Snippets, die von drei großen Suchmaschinen (Google, Yahoo! und Microsoft Bing) empfohlen werden
Konstruktion großer Datensätze: Erfassung von 47.400 Weblinks für 9.480 Anfragen, die 5.355 verschiedene Websites abdecken
Multi-dimensionales Analyse-Framework: Vorschlag einer Analysemethode basierend auf drei unabhängigen Variablen: Ranking, Suchmaschine und empfehlendes Portal
Empirische Erkenntnisse: Bestätigung zweier wichtiger Hypothesen: Code-Snippets mit höherem Ranking haben nicht unbedingt höhere Lesbarkeit/Verständlichkeit; es gibt signifikante Unterschiede in der Code-Qualität zwischen verschiedenen empfehlenden Portalen
Standardisierung der Verständlichkeitsmessung: Vorschlag einer standardisierten Methode zur Umwandlung kognitiver Komplexität in das Intervall 0,1
Eingabe: Programmierbezogene Abfragen
Ausgabe: Lesbarkeits- und Verständlichkeitsbewertungen von Code-Snippets
Einschränkungen: Analyse nur von Java-Code-Snippets, Berücksichtigung der Top-5-Suchergebnisse
Ranking-Paradoxon: Das Suchmaschinen-Ranking korreliert nicht vollständig mit der Code-Qualität; Code-Snippets mit Top-2- und Top-3-Ranking können höhere Qualität aufweisen
Unterschiede zwischen Suchmaschinen: Google schneidet bei der Lesbarkeit am besten ab, der Vorteil ist jedoch begrenzt
Differenzierung der Website-Qualität: Es gibt signifikante Qualitätsunterschiede zwischen empfehlenden Portalen; Tutorial-Websites (GeeksforGeeks) haben bessere Lesbarkeit
Einschränkungen der Verständlichkeit: Die aktuelle Verständlichkeits-Kennzahl hat begrenzte Unterscheidungskraft bei einfachen Code-Snippets
Das Papier zitiert 23 verwandte Literaturquellen, hauptsächlich einschließlich:
Messmethoden für Code-Lesbarkeit und -Verständlichkeit
Forschung zu Code-Suche und Empfehlungssystemen
Analyse der Code-Qualität auf StackOverflow
Forschung zu Suchmaschinen-Ranking-Mechanismen
Gesamtbewertung: Dies ist ein hochqualitatives empirisches Softwaretechnik-Forschungspapier, das eine Forschungslücke in der Qualitätsbewertung der Code-Suche schließt und von großer theoretischer und praktischer Bedeutung ist. Die Forschungsmethode ist wissenschaftlich streng, die Datengröße ist ausreichend, die Zuverlässigkeit der Schlussfolgerungen ist hoch, und es bietet wertvolle Erkenntnisse für Entwickler und Forscher.