รายละเอียดโครงงาน

หลักสูตร/ปี พ.ศ.
วิทยาศาสตรมหาบัณฑิต สาขาวิชาเทคโนโลยีสารสนเทศ ปี พ.ศ. 2558

ภาคและปีการศึกษาที่สำเร็จการศึกษา
ภาคปลาย ปีการศึกษา 2557

ประเภทโครงงาน
การศึกษาค้นคว้าอิสระ

ชื่อโครงงานภาษาไทย
การศึกษาลักษณะเชิงเทคนิคและเชิงสังคมของการโปรแกรม ด้วยข้อมูลจากคลังข้อมูลโปรแกรมต้นฉบับออนไลน์

ชื่อโครงงานภาษาอังกฤษ
Using on-line source code repositories to analyze technical and social aspects of programming

ผู้พัฒนา
5614550640 ณัฐวุฒิ เพ็ชรมาก

อาจารย์ที่ปรึกษาหลัก
จิตร์ทัศน์ ฝักเจริญผล

อาจารย์ที่ปรึกษาร่วม
ธนาวินท์ รักธรรมานนท์

บทคัดย่อ

การศึกษาพฤติกรรมการเขียนโปรแกรมคอมพิวเตอร์ ทั้งในเชิงสังคมและเชิงเทคนิค โดยใช้ข้อมูลจากคลังรหัสต้นฉบับออน์ไลน์

ในการศึกษาแรก ข้อมูลจากการแข่งขัน Google Code Jam ถูกใช้เพื่อหาความเกี่ยวเนื่องระหว่างคุณลักษณะต่างๆ ของรหัสต้นฉบับ เปรียบเทียบกับคะแนนและเวลาที่ส่งคำตอบ ซึ่งพบความสัมพันธ์ที่มีนัยสำคัญบางคู่ จากมิติข้อมูลที่มีอยู่มากมาย อันได้แก่ ความสัมพันธ์ระหว่างเวลาที่ส่งคำตอบ ต่อค่าความซับซ้อนของวงจร และต่อค่าความยาวตัวระบุ

การศึกษาที่สอง ใช้ข้อมูลจากโครงการโอเพนซอร์ซจำนวนหลากหลายที่เขียนในภาษา Python และ PHP โดยมุ่งพิจารณากระบวนการรับมือความเปลี่ยนแปลงภายนอก ของการเปลี่ยนรุ่นภาษาโปรแกรมครั้งสำคัญ โดยนำระเบียบวิธีสำหรับการสังเกตความเข้ากันได้ของรหัสต้นฉบับตามช่วงเวลา แล้วจัดแบ่งหมวดหมู่โครงการเป็นสามกลุ่มกว้างๆ อิงตามรูปแบบการปรับตัว

การวิเคราะห์ทั้งสองแสดงให้เห็นถึงศักยภาพของการศึกษาเชิงปริมาณ บนพฤติกรรมการเขียนโปรแกรมที่น่าสนใจ จากคลังข้อมูลรหัสต้นฉบับที่พร้อมใช้งานและกำลังเติบโตอย่างรวดเร็วบนอินเตอร์เน็ต

Abstract

We study social and technical aspects of computer programming through data obtained from on-line source code repositories.

First, we use data from Google Code Jam programming competitions to investigate effects various characteristics of submitted source codes to competitors' scores and coding times. We find a few strong relationships between many interesting attributes. Namely, we find that submission times are correlated with cyclomatic complexity and identifier lengths.

Second, we compare various open source projects written in Python and PHP and focus on how each project handles external changes from newer versions of its major programming language. We introduce a new methodology for observing code compatibility changes over time and categorize projects into three broad groups based on their transition behaviors.

These two studies demonstrate the potential of quantitative studies of interesting behavioral aspects of programming from source code repositories
readily available and rapidly growing on the Internet.

คำสำคัญ (Keywords)

Programming Knowledge
Mining
Software Repositories
Programming Competition

เว็บไซต์โครงงาน
https://github.com/neizod/coding-analysis/

วีดีโอคลิปของโครงงาน
-

ที่เก็บเวอร์ชันซอร์สโค้ด

https://github.com/neizod/coding-analysis.git


สถานะการนำเข้าข้อมูล

ผู้นำเข้าข้อมูลครั้งแรก
ณัฐวุฒิ เพ็ชรมาก (g5614550640)

แก้ไขครั้งสุดท้าย
เมื่อ May 30, 2015, 11:08 a.m. โดย ณัฐวุฒิ เพ็ชรมาก (g5614550640)

สถานะการอนุมัติ
รออนุมัติ