2025-11-23T09:49:16.774551

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

์ผ๋ฐ˜ ๋ชฉ์  ์›น ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ถ”์ฒœํ•˜๋Š” ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„: ๋น„๊ต ์—ฐ๊ตฌ

๊ธฐ๋ณธ ์ •๋ณด

  • ๋…ผ๋ฌธ ID: 2110.07087
  • ์ œ๋ชฉ: Readability and Understandability of Snippets Recommended by General-purpose Web Search Engines: a Comparative Study
  • ์ €์ž: Carlos Eduardo C. Dantas, Marcelo A. Maia
  • ๋ถ„๋ฅ˜: cs.SE (์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™)
  • ๋ฐœํ‘œ ์‹œ๊ฐ„/ํ•™ํšŒ: AeSIR '21, 2021๋…„ 11์›” 15-11์ผ
  • ๋…ผ๋ฌธ ๋งํฌ: https://arxiv.org/abs/2110.07087

์ดˆ๋ก

๊ฐœ๋ฐœ์ž๋“ค์€ Google, Yahoo!, Microsoft Bing ๋“ฑ์˜ ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ž์ฃผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ ๊ฐ€๋…์„ฑ์ด๋‚˜ ์ดํ•ด๋„ ์ธก๋ฉด์—์„œ ํ’ˆ์งˆ์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์€ ์„ธ ๊ฐ€์ง€ ๋…๋ฆฝ ๋ณ€์ˆ˜(์ˆœ์œ„, ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ์—”์ง„, ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น์—์„œ ์ถ”์ถœํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜๋ฅผ ๋ถ„์„ํ•˜๋Š” ์‹ค์ฆ ๋ถ„์„์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ตฌ๋Š” 9,480๊ฐœ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ Google, Yahoo!, Bing์˜ ์ƒ์œ„ 5๊ฐœ ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ ๋ฐ ํ•ด๋‹น ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ถ”์ฒœ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜๋ฅผ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ ๊ฒฐ๊ณผ, ํŠน์ • ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ๊ฐ€ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜ ์ธก๋ฉด์—์„œ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ๋ณด๋‹ค ํ˜„์ €ํžˆ ์šฐ์ˆ˜ํ•จ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๋ชจ๋“  ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ๋ณด๋‹ค ๋ฐ˜๋“œ์‹œ ๋” ๊ฐ€๋…์„ฑ์ด ๋†’๊ฑฐ๋‚˜ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€๋…์„ฑ ์ ์ˆ˜ ์ธก๋ฉด์—์„œ Google์€ Yahoo! ๋˜๋Š” Microsoft Bing๋ณด๋‹ค ๋” ๋‚˜์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ˆœ์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๋™๊ธฐ

๋ฌธ์ œ ์ •์˜

  1. ํ•ต์‹ฌ ๋ฌธ์ œ: ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ถ”์ฒœํ•˜๋Š” ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ธก๋ฉด์—์„œ ํ’ˆ์งˆ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๋ฐ˜๋“œ์‹œ ํ’ˆ์งˆ์ด ๋” ๋†’์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค
  2. ์‹ค์ œ ์š”๊ตฌ์‚ฌํ•ญ: ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ผ๋ฐ˜ ๊ฒ€์ƒ‰ ์—”์ง„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์ฐพ์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ํ’ˆ์งˆ์— ๋Œ€ํ•œ ์ฒด๊ณ„์  ํ‰๊ฐ€๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค
  3. ๊ฒ€์ƒ‰ ์—”์ง„์˜ ํ•œ๊ณ„: Google์€ 200๊ฐœ ์ด์ƒ์˜ ์ˆœ์œ„ ์š”์†Œ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์ˆœ์œ„๊ฐ€ ๋†’์€ ํŽ˜์ด์ง€์—๋Š” ํ’ˆ์งˆ์ด ๋‚ฎ์€ ์ฝ”๋“œ ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์—ฐ๊ตฌ์˜ ์ค‘์š”์„ฑ

  • ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์žฌ์‚ฌ์šฉ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž‘์—… ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • Google์€ 90% ์ด์ƒ์˜ ๊ฒ€์ƒ‰ ์—”์ง„ ์‹œ์žฅ ์ ์œ ์œจ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ์ˆœ์œ„ ์ƒํ™ฉ์€ ์•Œ๋ ค์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค
  • ๊ฐ€๋…์„ฑ๊ณผ ์ดํ•ด๋„ ๊ฐ„์˜ ์ƒํ˜ธ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: ๊ฐ€๋…์„ฑ์€ ๊ตฌ๋ฌธ ์ดํ•ด์™€ ๊ด€๋ จ๋˜๊ณ , ์ดํ•ด๋„๋Š” ์˜๋ฏธ๋ก ์  ์ธก๋ฉด๊ณผ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค

๋™๊ธฐ ์‚ฌ๋ก€

๋…ผ๋ฌธ์€ Hora์˜ ์—ฐ๊ตฌ ์‚ฌ๋ก€๋ฅผ ์ธ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค: Google์—์„œ "File.mkdirs examples"๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ, Tutorialspoint์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ ๊ฐ€๋…์„ฑ ๋ฐ ์žฌ์‚ฌ์šฉ์„ฑ ์ง€ํ‘œ๊ฐ€ ๋‚ฎ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ฟผ๋ฆฌ์™€ ์œ ์‚ฌํ•œ ์ž์—ฐ์–ด ์„ค๋ช…์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ๋” ๋†’์€ ์ˆœ์œ„๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ธฐ์—ฌ

  1. ์ตœ์ดˆ ์ฒด๊ณ„์  ๋น„๊ต ์—ฐ๊ตฌ: Google, Yahoo!, Microsoft Bing ์„ธ ๋Œ€ํ˜• ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ถ”์ฒœํ•˜๋Š” ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„์— ๋Œ€ํ•œ ๋Œ€๊ทœ๋ชจ ๋น„๊ต ๋ถ„์„
  2. ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ•: 9,480๊ฐœ ์ฟผ๋ฆฌ์˜ 47,400๊ฐœ ์›นํŽ˜์ด์ง€ ๋งํฌ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ 5,355๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ๋ฅผ ํฌํ•จ
  3. ๋‹ค์ฐจ์› ๋ถ„์„ ํ”„๋ ˆ์ž„์›Œํฌ: ์ˆœ์œ„, ๊ฒ€์ƒ‰ ์—”์ง„, ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ ์„ธ ๊ฐ€์ง€ ๋…๋ฆฝ ๋ณ€์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ถ„์„ ๋ฐฉ๋ฒ• ์ œ์‹œ
  4. ์‹ค์ฆ์  ๋ฐœ๊ฒฌ: ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๊ฐ€์„ค์„ ์ฆ๋ช…: ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๋ฐ˜๋“œ์‹œ ๋” ๋†’์€ ๊ฐ€๋…์„ฑ/์ดํ•ด๋„๋ฅผ ๊ฐ€์ง€์ง€๋Š” ์•Š์Œ; ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ ๊ฐ„ ์ฝ”๋“œ ํ’ˆ์งˆ์— ํ˜„์ €ํ•œ ์ฐจ์ด ์กด์žฌ
  5. ์ดํ•ด๋„ ์ธก์ • ํ‘œ์ค€ํ™”: ์ธ์ง€ ๋ณต์žก๋„๋ฅผ 0,1 ๊ตฌ๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ‘œ์ค€ํ™” ๋ฐฉ๋ฒ• ์ œ์‹œ

๋ฐฉ๋ฒ•๋ก  ์ƒ์„ธ ์„ค๋ช…

์ž‘์—… ์ •์˜

์ž…๋ ฅ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ด€๋ จ ์ฟผ๋ฆฌ ๋ฌธ์žฅ ์ถœ๋ ฅ: ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜ ์ œ์•ฝ ์กฐ๊ฑด: Java ์–ธ์–ด ์ฝ”๋“œ ์Šค๋‹ˆํŽซ๋งŒ ๋ถ„์„, ์ƒ์œ„ 5๊ฐœ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๊ณ ๋ ค

์—ฐ๊ตฌ ์„ค๊ณ„ ์•„ํ‚คํ…์ฒ˜

์—ฐ๊ตฌ๋Š” 5๋‹จ๊ณ„ ๋ฐฉ๋ฒ•๋ก ์„ ์ฑ„ํƒํ•ฉ๋‹ˆ๋‹ค:

  1. ์ž…๋ ฅ ์ฟผ๋ฆฌ ์„ ํƒ: CROKAGE ๋„๊ตฌ์—์„œ 10,000๊ฐœ์˜ ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ ์ˆ˜์ง‘
  2. ์ƒ์œ„ n๊ฐœ ์›นํŽ˜์ด์ง€ ์ˆ˜์ง‘: Google, Yahoo!, Bing์˜ ์ƒ์œ„ 5๊ฐœ ์ถ”์ฒœ ์›นํŽ˜์ด์ง€ ํš๋“
  3. ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ถ”์ถœ: ์„ ํƒ๋œ ์›น์‚ฌ์ดํŠธ์—์„œ Java ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ถ”์ถœ
  4. ์ง€ํ‘œ ๊ณ„์‚ฐ: ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜ ๊ณ„์‚ฐ
  5. ๋ถ„์„ ๋ฐฉ๋ฒ•: ANOVA ๋ฐ Tukey ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ํ†ต๊ณ„ ๋ถ„์„

ํ•ต์‹ฌ ๊ธฐ์ˆ  ๊ตฌํ˜„

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์ „๋žต

  • ์ฟผ๋ฆฌ ์ˆ˜์ •: Java ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด "example in java" ํƒœ๊ทธ ์ถ”๊ฐ€
  • ์›น์‚ฌ์ดํŠธ ์„ ํƒ: 5๊ฐœ์˜ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์›น์‚ฌ์ดํŠธ์— ์ค‘์  ๋ถ„์„

์ฝ”๋“œ ์ถ”์ถœ ๋ฐฉ๋ฒ•

  • StackOverflow: ์ˆ˜๋ฝ๋œ ๋‹ต๋ณ€์—์„œ Java ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ถ”์ถœ
  • ๊ธฐํƒ€ ์›น์‚ฌ์ดํŠธ: HTML ํƒœ๊ทธ์—์„œ "example"๊ณผ "Java"๋ฅผ ํฌํ•จํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ

ํ‰๊ฐ€ ์ง€ํ‘œ

๊ฐ€๋…์„ฑ ์ธก์ •:

  • Scalabrino ๋“ฑ์ด ์ œ์‹œํ•œ ์˜ˆ์ธก ๋ชจ๋ธ ์‚ฌ์šฉ
  • ์ฃผ์„, ์‹๋ณ„์ž ์ผ๊ด€์„ฑ, ํ…์ŠคํŠธ ์ผ๊ด€์„ฑ, ์˜๋ฏธ ์ˆ˜๋Ÿ‰ ๋ฐ ๊ฐœ๋… ๋“ฑ์˜ ์ง€ํ‘œ ํฌํ•จ
  • ์ถœ๋ ฅ ๋ฒ”์œ„: 0,1, 0์€ ๋‚ฎ์€ ๊ฐ€๋…์„ฑ, 1์€ ๋†’์€ ๊ฐ€๋…์„ฑ์„ ๋‚˜ํƒ€๋ƒ„

์ดํ•ด๋„ ์ธก์ •:

  • Campbell์ด ์ œ์‹œํ•œ ์ธ์ง€ ๋ณต์žก๋„ ๊ธฐ๋ฐ˜
  • ํ‘œ์ค€ํ™” ๊ณต์‹:
understandability(cs_i) = {
    1 - #cc/#mcc  if #cc < 15
    0.0           otherwise
}

์—ฌ๊ธฐ์„œ #cc๋Š” ์ธ์ง€ ๋ณต์žก๋„ ๊ฐ’, #mcc=15๋Š” ์ตœ๋Œ€ ๊ถŒ์žฅ๊ฐ’์ž…๋‹ˆ๋‹ค

์‹คํ—˜ ์„ค์ •

๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ธ ์ •๋ณด

  • ์ฟผ๋ฆฌ ์ถœ์ฒ˜: CROKAGE ๋„๊ตฌ์˜ ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ, 80๊ฐœ ์ด์ƒ์˜ ๊ตญ๊ฐ€์—์„œ ์ˆ˜์ง‘
  • ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ: 9,480๊ฐœ์˜ ์œ ํšจํ•œ ์ฟผ๋ฆฌ, 47,400๊ฐœ์˜ ์›นํŽ˜์ด์ง€ ๋งํฌ
  • ์›น์‚ฌ์ดํŠธ ๋ฒ”์œ„: 5,355๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ
  • ์–ธ์–ด ์ œํ•œ: Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋งŒ ํ•ด๋‹น

ํ‰๊ฐ€ ๋ฐฉ๋ฒ•

  • ํ†ต๊ณ„ ๋ถ„์„: ๋ถ„์‚ฐ ๋ถ„์„(ANOVA) ์‚ฌ์šฉ, ์‹ ๋ขฐ ์ˆ˜์ค€ 5% (p-value<0.05)
  • ๋‹ค์ค‘ ๋น„๊ต: Tukey ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฃน ๊ฐ„ ์œ ์˜๋ฏธํ•œ ์ฐจ์ด ์‹๋ณ„
  • ๊ทธ๋ฃน ์„ค๊ณ„:
    • ๊ฒ€์ƒ‰ ์—”์ง„: 3๊ฐœ ๊ทธ๋ฃน(Google, Bing, Yahoo!)
    • ์ˆœ์œ„: 5๊ฐœ ๊ทธ๋ฃน(์ƒ์œ„-1๋ถ€ํ„ฐ ์ƒ์œ„-5)
    • ์›น์‚ฌ์ดํŠธ: 5๊ฐœ ๊ทธ๋ฃน(์„ ํƒ๋œ 5๊ฐœ ์›น์‚ฌ์ดํŠธ)

๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

  • ์ค‘๋ณต ์ฟผ๋ฆฌ ์ œ๊ฑฐ ๋ฐ ์ˆ˜๋™์œผ๋กœ ํ•ด๋‹น ์—†์Œ์œผ๋กœ ํ‘œ์‹œ๋œ ์ฟผ๋ฆฌ ์ œ๊ฑฐ
  • 5๊ฐœ ๋ฏธ๋งŒ์˜ ์›นํŽ˜์ด์ง€ ์ถ”์ฒœ์„ ๊ฐ€์ง„ ์ฟผ๋ฆฌ ํ•„ํ„ฐ๋ง
  • HTML ํƒœ๊ทธ์—์„œ ๋งํฌ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ

์‹คํ—˜ ๊ฒฐ๊ณผ

์ฃผ์š” ๋ฐœ๊ฒฌ

RQ1: ๊ฒ€์ƒ‰ ์—”์ง„ ์ˆœ์œ„์™€ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๊ณ„

  • ANOVA ๊ฒฐ๊ณผ: ๊ฐ€๋…์„ฑ p-value=0.0034, ์ดํ•ด๋„ p-value=0.0003
  • ํ•ต์‹ฌ ๋ฐœ๊ฒฌ: ์ƒ์œ„-2 ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ธก๋ฉด์—์„œ ์ƒ์œ„-1, ์ƒ์œ„-4, ์ƒ์œ„-5๋ณด๋‹ค ์ „๋ฐ˜์ ์œผ๋กœ ์šฐ์ˆ˜
  • ํšจ๊ณผ ํฌ๊ธฐ: ์ž‘์Œ(-0.020.01 ๊ฐ€๋…์„ฑ, -0.010.02 ์ดํ•ด๋„)
  • ๊ฒฐ๋ก : ๊ฐ€์„ค H1์„ ์ฆ๋ช…, ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๋ฐ˜๋“œ์‹œ ๋” ๋†’์€ ๊ฐ€๋…์„ฑ์ด๋‚˜ ์ดํ•ด๋„๋ฅผ ๊ฐ€์ง€์ง€๋Š” ์•Š์Œ

RQ2: ๊ฒ€์ƒ‰ ์—”์ง„ ๊ฐ„ ๋น„๊ต

  • ANOVA ๊ฒฐ๊ณผ: ๊ฐ€๋…์„ฑ p-value=1.207e-12, ์ดํ•ด๋„ p-value=0.0364
  • ๊ฐ€๋…์„ฑ ์ˆœ์„œ: Google > Microsoft Bing > Yahoo!
  • ์ดํ•ด๋„: Google์ด Microsoft Bing๋ณด๋‹ค ์•ฝ๊ฐ„ ์šฐ์ˆ˜
  • ํšจ๊ณผ ํฌ๊ธฐ: ์ž‘์€ ํšจ๊ณผ(-0.020.02 ๊ฐ€๋…์„ฑ, -0.010.005 ์ดํ•ด๋„)

RQ3: ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ ๊ฐ„ ๋น„๊ต

  • ANOVA ๊ฒฐ๊ณผ: ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ p-value ๋ชจ๋‘ <2.2e-16
  • ๊ฐ€๋…์„ฑ ์ตœ๊ณ : geeksforgeeks
  • ์ดํ•ด๋„ ์ตœ๊ณ : tutorialspoint
  • ํšจ๊ณผ ํฌ๊ธฐ: ๊ฐ€๋…์„ฑ ์ค‘๊ฐ„ ํšจ๊ณผ(-0.150.10), ์ดํ•ด๋„ ์ž‘์€ ํšจ๊ณผ(-0.040.08)

์ƒ์„ธ ๋ถ„์„ ๊ฒฐ๊ณผ

๊ฐ€๋…์„ฑ ๋ถ„์„

GeeksforGeeks๊ฐ€ ์ตœ๊ณ  ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ์ด์œ :

  • ๊ฐ ์ฝ”๋“œ ๋ผ์ธ์— ์ฃผ์„ ํฌํ•จ
  • ๋†’์€ ์‘์ง‘๋„, ๊ฐ ๊ฐœ๋…์ด ๋…๋ฆฝ์ 
  • ์˜ˆ์‹œ: "How to append to a string?" ์ฟผ๋ฆฌ
    • GeeksforGeeks: ๊ฐ€๋…์„ฑ ์ ์ˆ˜ 0.94
    • Tutorialspoint: ๊ฐ€๋…์„ฑ ์ ์ˆ˜ 0.44

์ดํ•ด๋„ ๋ถ„์„ ์ œํ•œ

  • 58.3%์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ์ตœ๋Œ€ ์ดํ•ด๋„ ์ ์ˆ˜ ๋‹ฌ์„ฑ
  • ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ ๊ฐ„๋‹จํ•œ API ํ˜ธ์ถœ๋กœ ๋ณต์žกํ•œ ์ œ์–ด ๊ตฌ์กฐ ๋ถ€์กฑ
  • ํ•ด๋‹น ์ง€ํ‘œ๋Š” ์™„์ „ํ•œ Git ์ €์žฅ์†Œ ์œ ํ˜• ํŒŒ์ผ์— ๋” ์ ํ•ฉํ•  ๊ฒƒ์œผ๋กœ ์ œ์•ˆ

๊ด€๋ จ ์—ฐ๊ตฌ

์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์—ฐ๊ตฌ

  • Hora (2021): Google์ด ๊ฐ€๋…์„ฑ ๋ฐ ์žฌ์‚ฌ์šฉ์„ฑ ํŠน์„ฑ์— ๋”ฐ๋ผ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ˆœ์œ„ ๋งค๊ธฐ๋Š” ๋ฐฉ๋ฒ• ์—ฐ๊ตฌ
  • Scalabrino ๋“ฑ: ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์˜ˆ์ธก ๋ชจ๋ธ ์ œ์‹œ
  • Buse์™€ Weimer: ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์ธก์ • ํ•™์Šต

์ฝ”๋“œ ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ

  • API Sonar ๋„๊ตฌ: ๊ฐ€๋…์„ฑ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ˆœ์œ„ ๋งค๊น€
  • Muse ๋ฐฉ๋ฒ•: ๊ฐ€๋…์„ฑ ํŠน์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์˜ˆ์ œ ์ˆœ์œ„ ๋งค๊น€
  • CROKAGE: StackOverflow์—์„œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ๋ฐ ์„ค๋ช…์„ ์ถ”์ถœํ•˜๋Š” ์ฝ”๋“œ ๊ฒ€์ƒ‰ ์—”์ง„

์ฝ”๋“œ ํ’ˆ์งˆ ํ‰๊ฐ€

  • Treude์™€ Robillard: StackOverflow ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ 49%๋งŒ ์™„์ „ํžˆ ์ž๋ช…ํ•จ์„ ๋ฐœ๊ฒฌ
  • ์ธ์ง€ ๋ณต์žก๋„: Campbell์ด ์ œ์‹œํ•œ ์ดํ•ด๋„ ์ธก์ • ๋ฐฉ๋ฒ•

๊ฒฐ๋ก  ๋ฐ ๋…ผ์˜

์ฃผ์š” ๊ฒฐ๋ก 

  1. ์ˆœ์œ„ ์—ญ์„ค: ๊ฒ€์ƒ‰ ์—”์ง„ ์ˆœ์œ„์™€ ์ฝ”๋“œ ํ’ˆ์งˆ์€ ์™„์ „ํžˆ ๊ด€๋ จ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์ƒ์œ„-2 ๋ฐ ์ƒ์œ„-3 ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์˜ ํ’ˆ์งˆ์ด ๋” ๋†’์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  2. ๊ฒ€์ƒ‰ ์—”์ง„ ์ฐจ์ด: Google์ด ๊ฐ€๋…์„ฑ ์ธก๋ฉด์—์„œ ์ตœ๊ณ  ์„ฑ๋Šฅ์„ ๋ณด์ด์ง€๋งŒ ์šฐ์œ„๋Š” ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค
  3. ์›น์‚ฌ์ดํŠธ ํ’ˆ์งˆ ๋ถ„ํ™”: ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ ๊ฐ„์— ํ˜„์ €ํ•œ ํ’ˆ์งˆ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ํŠœํ† ๋ฆฌ์–ผ ์œ ํ˜• ์›น์‚ฌ์ดํŠธ(GeeksforGeeks)๊ฐ€ ๋” ๋‚˜์€ ๊ฐ€๋…์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  4. ์ดํ•ด๋„ ์ œํ•œ: ํ˜„์žฌ ์ดํ•ด๋„ ์ง€ํ‘œ๋Š” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์— ๋Œ€ํ•œ ๊ตฌ๋ถ„๋ ฅ์ด ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค

์‹ค๋ฌด์  ์˜์˜

  • ๊ฐœ๋ฐœ์ž ์ง€์นจ: GeeksforGeeks ๋“ฑ ํŠœํ† ๋ฆฌ์–ผ ์›น์‚ฌ์ดํŠธ์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์šฐ์„ ์ ์œผ๋กœ ๊ณ ๋ คํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค
  • ๊ฒ€์ƒ‰ ์ „๋žต: ์ˆœ์œ„๋งŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์„ ํƒํ•˜์ง€ ๋ง๊ณ  ํ’ˆ์งˆ ์ง€ํ‘œ๋ฅผ ์ข…ํ•ฉ์ ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • ๋„๊ตฌ ๊ฐœ์„ : ์ฝ”๋“œ ๊ฒ€์ƒ‰ ์—”์ง„์— ํ’ˆ์งˆ ํ‰๊ฐ€์˜ ์ฐธ๊ณ  ๊ธฐ์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค

์ œํ•œ ์‚ฌํ•ญ

  1. ์›น์‚ฌ์ดํŠธ ๋ฒ”์œ„ ์ œํ•œ: 5๊ฐœ ์›น์‚ฌ์ดํŠธ๋งŒ ๋ถ„์„ํ•˜์—ฌ ์ถ”์ฒœ ์›น์‚ฌ์ดํŠธ์˜ 34%-38.1%๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค
  2. ์ถ”์ถœ ์ „๋žต: ๊ฐ ์›นํŽ˜์ด์ง€์—์„œ ์ฒซ ๋ฒˆ์งธ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ๋งŒ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค
  3. ์ฟผ๋ฆฌ ์ˆ˜์ • ์˜ํ–ฅ: "example in java" ์ถ”๊ฐ€๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  4. ์ง€ํ‘œ ์ •ํ™•๋„: ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ๋„๊ตฌ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

ํ–ฅํ›„ ๋ฐฉํ–ฅ

  1. ์ •์„ฑ์  ์—ฐ๊ตฌ: ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ ์ˆ˜ ์ฐจ์ด์˜ ์›์ธ์„ ์‹ฌ์ธต์ ์œผ๋กœ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค
  2. ์—ฐ๊ตฌ ํ™•์žฅ: ๋” ๋งŽ์€ ์›น์‚ฌ์ดํŠธ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ๋ฒ”์šฉ ์ฝ”๋“œ ์ถ”์ถœ ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค
  3. ๋‹ค์ค‘ ์–ธ์–ด ์ง€์›: ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค
  4. ๋‹ค์ค‘ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ์ฒ˜๋ฆฌ: ๋‹จ์ผ ํŽ˜์ด์ง€์˜ ์—ฌ๋Ÿฌ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํœด๋ฆฌ์Šคํ‹ฑ์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค

์‹ฌ์ธต ํ‰๊ฐ€

์žฅ์ 

  1. ์—ฐ๊ตฌ ์ฐธ์‹ ์„ฑ: ์ฃผ๋ฅ˜ ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ ํ’ˆ์งˆ์„ ์ตœ์ดˆ๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค
  2. ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ: ๋Œ€๊ทœ๋ชจ ์‹ค์ฆ ์—ฐ๊ตฌ๋กœ ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๋Ÿ‰๊ณผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๋ก ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  3. ๋ฐฉ๋ฒ•๋ก  ์—„๋ฐ€์„ฑ: ์„ฑ์ˆ™ํ•œ ํ†ต๊ณ„ ๋ถ„์„ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜๋ฏธํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค
  4. ์‹ค์šฉ์  ๊ฐ€์น˜: ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์„ ํƒํ•  ๋•Œ ์‹ค์ฆ์  ์ง€์นจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  5. ์žฌํ˜„์„ฑ: ์™„์ „ํ•œ ์žฌํ˜„ ํŒจํ‚ค์ง€ ๋ฐ ์ƒ์„ธํ•œ ๋ฐฉ๋ฒ• ์„ค๋ช…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค

๋ถ€์กฑํ•œ ์ 

  1. ์ง€ํ‘œ ์ œํ•œ: ์ดํ•ด๋„ ์ง€ํ‘œ๋Š” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์— ๋Œ€ํ•œ ๊ตฌ๋ถ„๋ ฅ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค
  2. ์›น์‚ฌ์ดํŠธ ์„ ํƒ ํŽธํ–ฅ: 5๊ฐœ์˜ ์ฃผ๋ฅ˜ ์›น์‚ฌ์ดํŠธ๋งŒ ๋ถ„์„ํ•˜์—ฌ ์„ ํƒ ํŽธํ–ฅ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  3. ์–ธ์–ด ์ œํ•œ: Java ์–ธ์–ด๋งŒ ๊ณ ๋ คํ•˜์—ฌ ์ผ๋ฐ˜ํ™” ๊ฐ€๋Šฅ์„ฑ์ด ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค
  4. ์‹œ๊ฐ„ ํšจ๊ณผ: ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋Š” ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋ฏ€๋กœ ๊ฒฐ๋ก ์ด ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์˜ํ–ฅ๋ ฅ

  1. ํ•™์ˆ  ๊ธฐ์—ฌ: ์ฝ”๋“œ ๊ฒ€์ƒ‰ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ์—ฐ๊ตฌ์— ์ƒˆ๋กœ์šด ๊ด€์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  2. ์‹ค๋ฌด ์ง€์นจ: ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ ๊ฒ€์ƒ‰ ํ–‰๋™์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค
  3. ๋„๊ตฌ ๊ฐœ์„ : ๊ฒ€์ƒ‰ ์—”์ง„ ๋ฐ ์ฝ”๋“œ ์ถ”์ฒœ ์‹œ์Šคํ…œ ์ตœ์ ํ™”์— ๊ทผ๊ฑฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  4. ํ›„์† ์—ฐ๊ตฌ: ๊ด€๋ จ ๋ถ„์•ผ ์—ฐ๊ตฌ์˜ ๊ธฐ์ดˆ๋ฅผ ๋งˆ๋ จํ•ฉ๋‹ˆ๋‹ค

์ ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ์˜ ํ’ˆ์งˆ ํ‰๊ฐ€
  • ์ฝ”๋“œ ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์ˆœ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ตœ์ ํ™”
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต์œก์—์„œ์˜ ์ฝ”๋“œ ์˜ˆ์ œ ํ’ˆ์งˆ ๊ด€๋ฆฌ
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ์—ฐ๊ตฌ์—์„œ์˜ ์ฝ”๋“œ ํ’ˆ์งˆ ๋ถ„์„

์ฐธ๊ณ  ๋ฌธํ—Œ

๋…ผ๋ฌธ์€ 23๊ฐœ์˜ ๊ด€๋ จ ๋ฌธํ—Œ์„ ์ธ์šฉํ•˜๋ฉฐ, ์ฃผ์š” ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

  • ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๋ฐ ์ดํ•ด๋„ ์ธก์ • ๋ฐฉ๋ฒ•
  • ์ฝ”๋“œ ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์‹œ์Šคํ…œ ์—ฐ๊ตฌ
  • StackOverflow ์ฝ”๋“œ ํ’ˆ์งˆ ๋ถ„์„
  • ๊ฒ€์ƒ‰ ์—”์ง„ ์ˆœ์œ„ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์—ฐ๊ตฌ

์ข…ํ•ฉ ํ‰๊ฐ€: ์ด๋Š” ๋†’์€ ํ’ˆ์งˆ์˜ ์‹ค์ฆ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ์—ฐ๊ตฌ ๋…ผ๋ฌธ์œผ๋กœ, ์ฝ”๋“œ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ ํ‰๊ฐ€ ์—ฐ๊ตฌ์˜ ๊ณต๋ฐฑ์„ ์ฑ„์šฐ๋ฉฐ ์ค‘์š”ํ•œ ์ด๋ก ์  ๊ฐ€์น˜์™€ ์‹ค๋ฌด์  ์˜์˜๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์—ฐ๊ตฌ ๋ฐฉ๋ฒ•์€ ๊ณผํ•™์ ์ด๊ณ  ์—„๋ฐ€ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ๋Š” ์ถฉ๋ถ„ํ•˜๊ณ , ๊ฒฐ๋ก ์˜ ์‹ ๋ขฐ๋„๋Š” ๋†’์œผ๋ฉฐ, ๊ฐœ๋ฐœ์ž์™€ ์—ฐ๊ตฌ์ž์—๊ฒŒ ๊ฐ€์น˜ ์žˆ๋Š” ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.