Tags:
Node Thumbnail

ปรกติตามหน้าหนังสือพิมพ์หรือนิตยสารเราจะได้เห็นการสัมภาษณ์นักเรียนที่ได้รางวัลงานใหญ่ๆ หรืองานที่จัดโดยภาคธุรกิจกันมามาก วันนี้เลยขอพามารู้จักกับนักเรียนสายวิชาการแบบเพียวๆ กันบ้างนะครับ น้องอาณกร จงยินดี เป็นนักศึกษาม.เกษตร แต่ได้ไปฝึกงานที่ Nara Institute of Science and Technology จนงานที่ไปทำที่นั่นได้ตีพิมพ์ในงานประชุมวิชาการ The 6th International Conference on Software Process and Product Measurement (Mensura) เมื่อปีที่ผ่านมาทั้งที่เป็นงานวิจัยเดียวในงานที่เป็นผลงานของนักศึกษาระดับปริญญาตรี

งานวิจัย A Case Study of Committers’ Activities on the Bug Fixing Process in the Eclipse Project เป็นงานวิจัยที่ศึกษาพฤติกรรมของผู้รับโค้ดเข้าสู่ระบบควบคุมเวอร์ชั่นซอฟต์แวร์ของโครงการ Eclipse โดยมีการจัดแบ่งหมวดหมู่ของผู้รับโค้ด (commiter) และศึกษาพฤติกรรมในเชิงปริมาณ โดยศึกษาจากความเปลี่ยนแปลงของระบบติดตามบั๊กของซอฟต์แวร์ (Bug Tracking System) ควบคู่ไปกับ log ของ CVS ที่ Eclipse ใช้ดูแลซอร์สโค้ด สามารถแบ่งพฤติกรรมของผู้ดูแลซอฟต์แวร์ได้เป็นสี่กลุ่มตามพฤติกรรมในสองมิติคือการเข้าไปดูแลเปลี่ยนแปลงสถานะของบั๊ก และการดูแลซอร์สโค้ด ผลของการศึกษาพบว่าผู้ดูแลที่เน้นการดูแลซอร์สโค้ดเป็นหลัก มักจะตรวจสอบโค้ดได้ดีกว่า และรับโค้ดที่ดีกว่าเข้าสู่ระบบ

No Description

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

ช่วยแนะนำตัวสักหน่อยครับ

ครับ ผมชื่อ อาณกร จงยินดี ชื่อเล่นชื่อเอ็ม ตอนนี้อยู่ปีสี่ คณะวิศวคอมพิวเตอร์ ม.เกษตรครับ มีความสนใจในด้านไอทีมาตั้งแต่ต้น เลยเลือกเข้ามาที่นี่ครับ

งานวิจัยที่ทำเป็นเรื่องวิศวกรรมซอฟต์แวร์ เริ่มสนใจงานสายนี้ตั้งแต่เมื่อใหร่หรือครับ

ตอนแรกผมมองวิศวกรรมซอฟต์แวร์ว่าเป็นเรื่องไกลตัวพอสมควร เลยไม่ได้สนใจแต่แรก แต่พอได้มีโอกาสไปฝึกงานเป็นนักเรียนวิจัยที่ Nara Institute of Science and Technology ที่ประเทศญี่ปุ่น ซึ่งแลปวิศวกรรมซอฟต์แวร์ที่ใหญ่มาก ทำให้ผมได้มีโอกาสศึกษางานและขั้นตอนต่างๆ ในวิศวกรรมซอฟต์แวร์มากขึ้น และพบว่าวิศวกรรมซอฟต์แวร์นั้นใกล้ตัวกว่าที่คิด ในประเทศไทยยังมีคนที่ให้ความสนใจในด้านนี้ไม่มากเท่าที่ควร ทั้งๆ ที่ต่างประเทศเค้าจะให้ความสำคัญกับขั้นตอนการทำงานของคนมาก ทำให้เขาสามารถผลิตซอฟต์แวร์ออกมาได้อย่างเป็นระบบ ทำให้ผมได้จับงานตรงนี้มาดู และพยายามพัฒนาต่อยอดครับ

แสดงว่าไปเรียนรู้งานสายนี้ตอนไปฝึกงานเลย

จริงๆแล้วในวิชาตามหลักสูตรมีสอนวิศวกรรมซอฟต์แวร์อยู่แล้วครับ แต่เป็นแค่เบื้องต้นสุดๆเมื่อเทียบกับการวิจัยที่ทำจริงๆ

ไปฝึกงานที่ญี่ปุ่นได้อย่างไรหรือครับ?

พอดีอาจารย์ภัทร ลีลาพฤทธิ์ ที่ภาควิชารู้จักกับ Prof. Ken-ichi Matsumoto ที่ Nara Institute of Science and Technology จึงได้ริเริ่มให้มีโครงการส่งนิสิตไป internship
หรือฝึกงานในช่วงปิดเทอมฤดูร้อน เพื่อเรียนรู้ชีวิตการทำวิจัยในต่างประเทศ ปีนึงจะแลกเปลี่ยนนักเรียนประมาณ 4-5 คน สำหรับรุ่นผมก็เป็นรุ่นที่สองของโครงการนี้ โดยนิสิตที่สนใจต้องเขียนใบสมัครและติดต่อกับอาจารย์ที่นู่นเองพอสมควร และอาจารย์จะเป็นคนคัดเลือกไปครับ

ตอนที่ฝึกงานเริ่มทำงานวิจัยเลยรึเปล่าครับ หรือทำอย่างอื่นก่อน

เริ่มทำงานวิจัยตั้งแต่ช่วงฝึกงานครับ แต่ช่วงแรกยังไม่ได้คิดที่จะตีพิมพ์ผลงาน หลังจากเราได้นำเสนอผลงานไป อาจารย์ในห้องแลปเห็นว่า งานชิ้นนี้มันน่าจะตีพิมพ์ได้ ก็แนะนำงานประชุมวิชาการที่ใกล้จะถึงกำหนดปิดรับงานวิจัยมา แล้วบอกให้ทำวิจัยให้จบ ถ้ามีเวลาก็เริ่มเขียนเปเปอร์ได้เลย ก่อนกลับจากญี่ปุ่นผมก็ได้เปเปอร์ร่างแบบคร่าวๆ มา แล้วก็มาปัดฝุ่นกับเก็บรายละเอียดต่อที่ไทย โดยระหว่างนั้นก็ติดต่อกับอาจารย์ทางญี่ปุ่นเรื่อยๆ และมี Akinori Ihara, รุ่นพี่ปริญญาเอกที่เป็นคนญี่ปุ่นคอยช่วยเหลือด้วย เลยทำให้เปเปอร์เสร็จทันเวลาครับ

แสดงว่าภายในช่วงเวลาฝึกงานก็ไปเรียนรู้วิศวกรรมซอฟต์แวร์ไปพร้อมๆ กับการทำวิจัยด้วยกัน

ใช่ครับ แลปที่นู่นเค้ามีทรัพยากรที่เหลือเฟือมากสำหรับเด็กที่ต้องการเรียนรู้ในด้านต่างๆ

ทรัพยากรที่ว่า เช่นอะไรบ้างครับ

งานวิจัยจะเก็บไว้รวมเล่มอย่างดี มีระบบคนแนะนำที่ดีมาก ถ้าสงสัยตรงไหนสามารถถามได้ตลอดเวลา เปเปอร์ที่เป็นภาษาญี่ปุ่นก็มีการแปลเก็บไว้เป็นภาษาอังกฤษ (บ้าง) และก็มีการประชุมติดตามความคืบหน้าของเราทุกๆ สัปดาห์ครับ รวมถึงบรรยากาศในห้องแลปด้วยครับที่เอื้อต่อการเรียนรู้มาก ที่แลปมี iMac ให้คนละหนึ่งเครื่อง จอใหญ่ๆ 27-30 นิ้วให้เรานำเครื่องโน้ตบุ๊กมาต่ออีกคนละหนึ่งจอ ที่นั่งจะคละๆ กันคนละโต๊ะปนกับคนญี่ปุ่นคล้ายออฟฟิสใหญ่ๆ รวมถึงพวกขนมขบเคี้ยว น้ำดื่ม และบรรยากาศในห้องแลปที่เงียบสงบและอาจารย์ที่เป็นมิตรครับ เรียกว่าอยากได้ทรัพยากรอะไรขอให้เอ่ยปาก ยังไม่รวมถึงหนังสือการ์ตูนและเครื่องดนตรีใกล้ๆด้วยครับ :D

ช่วงเวลาที่เราไปฝึกงาน ความรู้ที่เรียนก่อนไปฝึกงานได้ใช้มากไหมครับ หรือต้องไปศึกษาที่นั่นมากกว่า

ใช้พอสมควรครับ บางเรื่องที่ไม่คิดว่าจะได้ใช้ก็ได้ใช้ตอนทำวิจัยจริงๆ ตั้งแต่เขียนซอฟต์แวร์สำหรับทำ mining ข้อมูล หรือแม้กระทั่งเรื่องความน่าจะเป็น เราก็ไม่ได้คิดว่าจะเอามาใช้เร็วขนาดนี้ แต่พอเราทำวิจัยที่ต้องมีการคำนวณตัวเลขและวิเคราะห์ทางสถิติ หน้าอาจารย์หลายๆ ท่านผุดขึ้นมาเลยครับ

หัวข้องานนี้ได้มาจากไหนหรือครับ

พอไปที่แลป ทางแลปให้เราเลือกหัวข้อได้เองเลยครับ ผมเลยอ่านหลายๆ เปเปอร์ ซึ่งหัวข้อของผมต่อยอดมาจากงานเดิมเป็นวิทยานิพนธ์ของนักเรียนปริญญาโทที่เพิ่งจบไป เป็นงานศึกษาเรื่องบทบาทของ Committer ใน Bug modification process มาบ้างแล้ว ผมเห็นว่าเป็นด้านที่น่าสนใจ เลยเอามาต่อยอดครับ จริงๆ ผมโชคดีด้วยที่งานวิจัยสายนี้เรียกว่าค่อนข้างใหม่ในวงการ ไม่เหมือนกับวงการอัลกอริทึมหรือคณิตศาสตร์ต่างๆ ที่นักวิจัยกว่าจะได้ตีพิมพ์ผลงานต้องศึกษานานมาก

งานวิจัยที่ทำขึ้นมา เพิ่มเติมงานของพี่ป.โทที่ต่อยอดมาอย่างไรบ้างครับ

ตัววิทยานิพนธ์เดิมหาว่า ผู้รับโค้ดถูกเลือกมาจากอะไร และนักพัฒนาคนใดมีสิทธิ์ได้เลื่อนขั้นเป็นผู้รับโค้ดมากกว่ากัน ก็ได้ข้อสรุปออกมาว่านักพัฒนาที่ทุ่มเทให้กับโปรเจคนานกว่า มีโอกาสถูกเลื่อนขั้นไปเป็นผู้รับโค้ดมากกว่าครับ รวมๆ คือเป็นงานศึกษาขั้นตอนก่อนการได้เลื่อนขั้น (ช่วงเป็นนักพัฒนา) ส่วนผมศึกษาขั้นตอน หลังจากที่นักพัฒนาได้เลื่อนขั้นเป็นผู้รับโค้ดแล้ว และอธิบายผลกระทบจากการกระทำต่างๆ ครับ

งั้นช่วยอธิบายตัวงานของเราคร่าวๆ อีกครั้งครับ

อธิบายคร่าวๆก็คือ ในการแก้บั๊กของโครงการโอเพนซอร์สใหญ่ๆ เช่น Eclipse เนี่ย เมื่อมีรายงานบั๊กเข้ามาในระบบจะมีนักพัฒนาจากทั่วโลกช่วยกันแก้บั๊ก แต่ว่าจะมีเพียงผู้รับโค้ดที่มีจำนวนไม่มากเท่านั้นที่จะสามารถรับแพตซ์ลงไปใน repository ได้ ผมจึงสนใจว่าการตัดสินใจแต่ละอย่างของผู้รับโค้ดมีผลกระทบต่อการแก้บั๊กของระบบอย่างไรบ้าง ซึ่งผลลัพธ์ก็น่าสนใจครับ บางครั้งผู้รับโค้ดไม่ได้ตรวจสอบดีเท่าที่ควร แล้วรีบรับแพตซ์ ทำให้บั๊กนั้นถูกรายงานเข้ามาอีกรอบ บั๊กถูก reopen ทำให้นักพัมนาต้องมานั่งเสียเวลาแก้บั๊กเดิมๆ อีก หรือบางครั้งเห็นว่าคนที่แก้บั๊กเป็นเพื่อนหรือคนสนิท ก็รับแพตซ์ไปเลยทั้งๆ ที่ไม่ได้ตรวจสอบ ผลสรุปคร่าวๆก็คือเราตีพิมพ์ว่า เมื่อผู้รับโค้ดทำงานพลาดอายุบั๊กจะยาวขึ้น และผมก็หาต่อว่าผู้รับโค้ดประเภทใดจึงจะทำงานพลาดน้อยกว่ากัน ก็ได้ข้อสรุปว่าผู้รับโค้ดที่ร่วมงานกับโปรเจคมานานกว่าจะรอบคอบมากกว่า

ตอนทำนี่ดึงข้อมูลจากไหนหรือครับ

ข้อมูลที่ใช้ศึกษาจะนำมาจากสองที่หลักๆ คือ Bugzilla ซึ่งเป็นระบบติดตามบั๊กที่ Eclipse ใช้งานอยู่ และ commit log ของ CVS โดยมีเครื่องมือที่นักวิจัยหลายคนที่เขียนไว้พร้อมอยู่แล้ว รวมไปถึงข้อมูลที่รวบรวมไว้บางส่วนที่พร้อมสำหรับทำเหมืองได้เลย แต่ผมก็เขียนเครื่องมือเพิ่มเพื่อปรับแต่งนิดๆ หน่อยๆ แล้วก็ดึงจากหน้าเว็บลงมาทั้งระบบ ตอนดึงข้อมูลใช้ตั้งแต่ regular expression ธรรมดาไปจนถึง xml parsing รวมๆ แล้วก็หลายล้านตัวอักษร พอได้ข้อมูลมา ก็มีการ Normalize หลายขั้นตอนเพื่อลด bias ที่จะเกิดจากการเลือกใช้ข้อมูลบางส่วน อ้างอิงจากเปเปอร์ของ Thomas Zimmerman และ Chirstian Bird เป็นหลัก ซึ่งเป็นนักวิจัยที่มีชื่อเสียงด้านนี้ครับ

แล้วรางวัลที่เราได้ เป็นรางวัลอะไรหรือครับ

Best Student Paper Award ของ The 6th International Conference on Software Process and Product Measurement (Mensura) หัวข้อหลักๆ จะเป็นด้านการจัดการและควบคุมขั้นตอนการพัฒนาซอฟต์แวร์

งานวิจัยระดับนักศึกษานี่คือรวมทั้งป.ตรีและโทใช่ไหมครับ

ใช่ครับ แต่ส่วนใหญ่เป็น ป.โทหมดเลย ในงานมีผมคนเดียวที่เป็นป.ตรี

ตอนนี้กลับมาเมืองไทยแล้วทำอะไรอยู่ครับ โปรเจคจบ?

แลปที่ผมอยู่ไม่ได้ทำด้านนี้โดยตรงครับ ทำให้โปรเจคจบแทบจะไม่เกี่ยวกับงานที่ทำไว้ที่นู่นเลย แต่งานวิจัยด้านนี้ผมก็ยังไม่ได้ทิ้งครับ เพราะงานวิจัยที่ได้รับรางวัลจะได้โอกาสเราส่งเป็นบทความลงวารสารวิชาการ (journal) ได้ต่อ ทำให้ผมยังต้องติดต่อกับทางญี่ปุ่นอยู่เรื่อยๆ เพื่อพัฒนางานต่อไปและพยายามตีพิมพ์บทความลงวารสารให้ได้ครับ ล่าสุดก็เพิ่งส่งไปไม่นาน รอลุ้นผลอยู่ครับ :D

ส่วนโปรเจคจบเขียนแพพลิเคชั่นแอนดรอยด์เพื่อทำ spectrum analyser แบบพกพาครับ ไม่ได้ใช้ความรู้ด้านวิศวกรรมซอฟต์แวร์เลย นอกจากคุมตัวเองให้เขียนโปรแกรมให้รอด 555 ผมว่าดีนะครับ เราได้ลองทำวิจัยแบบทฤษฏีจ๋ามาแล้ว ได้มาลองทำแบบประยุกต์ใช้งานดูบ้าง :D

แล้วหลังจากเรียนจบ คิดหรือยังครับว่าจะทำอะไรต่อไปครับ

ตอนนี้ที่สนใจก็ ถ้าไม่มีอะไรมาขัดผมก็คงไปเรียนต่อที่ญี่ปุ่น ในแลปที่ผมไปทำวิจัยนี่หล่ะครับ :D คุยๆกับอาจารย์ที่นู่นไว้ถูกคอบ้างแล้วเหมือนกัน อาจารย์ท่านก็อยากให้ต่อถึงเอกเหมือนกัน ผมก็คิดว่าเป็นโอกาสที่ดี แต่ต้องลองเอาโทให้รอดก่อนครับ การใช้ชีวิตที่ญี่ปุ่นต้องปรับตัวอีกเยอะเหมือนกัน เพราะวัฒนธรรมการทำงานเค้าเป๊ะมาก ถ้าเป็นไปได้ก็จะพยายามเป็นด๊อกเตอร์อีกซักคนครับ

สุดท้ายมีอะไรจะฝากถึงใครบ้างไหมครับ

ขอบคุณอาจารย์ภัทร, อาจารย์ Ohira, อาจารย์ Matsumoto และ Ihara-san อย่างมาก สำหรับความช่วยเหลือต่างๆในงานวิจัยครับ และถึงผู้่อานที่เป็นนักวิจัย หรือสนใจที่จะทำวิจัยทุกคนด้วยครับว่าการทำวิจัยให้ผลงานได้ตีพิมพ์ไม่ยากอย่างที่คิดครับ ผมว่ายังมีอีกหลายคนที่มีความสามารถสูงมาก แต่เรียบเรียงผลงานออกมาให้เป็นภาษาอังกฤษและถ่ายทอดให้คนอื่นเข้าใจได้ลำบาก ถ้าได้แรงผลักดันที่ถูกวิธีผมมองว่าประเทศเราก็สามารถเป็นประเทศที่ผลิตนักวิจัยระดับนานาชาติได้แน่นอน เนื่องจากคนไทยเก่งเยอะมาก แต่อาจจะไม่มีเวลามานั่งตีพิมพ์หรือไม่มีคนสนับสนุนครับ ซึ่งตรงนี้ผมว่าน่าเสียดายพอสมควร สุดท้ายก็ขอบคุณพี่ๆคนไทยที่ญี่ปุ่นละกันครับ พี่อู๋ พี่เหมี่ยว และพี่ก้อง ที่ดูแลให้ผมรอดและสั่งอาหารญี่ปุ่นเป็นครับ :D และขอบคุณ blognone ที่ให้โอกาสผมได้มาสัมภาษณ์ด้วยครับ

Get latest news from Blognone

Comments

By: mr_tawan
ContributoriPhoneAndroidWindows
on 31 January 2012 - 23:21 #378852
mr_tawan's picture

ยินดีด้วยนะครับ :-)


  • 9tawan.net บล็อกส่วนตัวฮับ
By: 9neo on 31 January 2012 - 23:43 #378860
9neo's picture

สุดยอดครับ ยินดีด้วยนะครับ

By: adamy
iPhoneAndroidBlackberryUbuntu
on 1 February 2012 - 00:39 #378894

เจ๋งมากๆครับ ... ตัวงานน่าจะมีประยุกต์ใช้ได้ดีทีเดียวนะครับผม : )

ขอบคุณครับ สวัสดีครับ

By: anu
Contributor
on 1 February 2012 - 03:06 #378942

เก่งโครต

By: tekkasit
ContributorAndroidWindowsIn Love
on 1 February 2012 - 09:51 #378995
tekkasit's picture

ยินดีด้วยครับ :D

By: toooooooon
iPhoneWindows PhoneAndroidBlackberry
on 1 February 2012 - 10:31 #379017

แนวคิดเจ๋งครับ...หัวข้องานวิจัยที่แหวกมาก

By: NewweN
iPhoneWindows PhoneAndroidUbuntu
on 1 February 2012 - 10:39 #379020
NewweN's picture

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

เก่งมากเลยครับ อยากเป็นแบบเค้าบ้าง

By: wnead
iPhoneWindows PhoneAndroidWindows
on 1 February 2012 - 16:39 #379197

(นอกเรื่อง) เข็มขัดสวย

By: Invisible Force
ContributoriPhoneAndroidUbuntu
on 1 February 2012 - 17:47 #379230
Invisible Force's picture

ผมชอบให้มีการทำ internship ส่งเด็กไปฝึกงานกับหน่วยงานชั้นนำต่างๆ จัง ^^

By: latesleeper
Android
on 1 February 2012 - 20:07 #379301

เลือกโจทย์ได้ดี วิธีคิดให้ได้คำตอบออกมาก็เยี่ยม เก่งจริงๆ ครับ :]

By: hisoft
ContributorWindows PhoneWindows
on 2 February 2012 - 01:37 #379417
hisoft's picture

ยินดีด้วยนะครับ ^^ สุดยอดเลย

By: prophecyx
iPhone
on 2 February 2012 - 10:28 #379488
prophecyx's picture

ยินดีด้วยครับ ^_^

By: comcap
Windows PhoneAndroidWindowsIn Love
on 2 February 2012 - 11:37 #379507

"ส่วนโปรเจคจบเขียนแพพลิเคชั่นแอนดรอยด์"-->แอพพลิเคชั่น

By: EThaiZone
ContributorAndroidUbuntuWindows
on 2 February 2012 - 20:24 #379816
EThaiZone's picture

ยินดีด้วยครับ น่านับถือครับ ^^


มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB

By: collection
iPhoneWindows PhoneWindows
on 6 February 2012 - 12:02 #380914

ยินดีด้วยครับ น่านับถือมากๆ ครับ เป็นแรงกระตุ้นให้คนรุ่นต่อๆไปที่กำลังจะทำงานวิจัย มีแรงฮึดกันได้เลยครับ