:::info ผู้เขียน:
:::
บทคัดย่อ
1 บทนำ
2 การศึกษาเดิม: คำถามวิจัยและระเบียบวิธี
3 การศึกษาเดิม: ภัยคุกคามต่อความถูกต้อง
4 การศึกษาเดิม: ผลลัพธ์
5 การศึกษาซ้ำ: คำถามวิจัยและระเบียบวิธี
6 การศึกษาซ้ำ: ภัยคุกคามต่อความถูกต้อง
7 การศึกษาซ้ำ: ผลลัพธ์
8 การอภิปราย
9 งานวิจัยที่เกี่ยวข้อง
10 บทสรุปและเอกสารอ้างอิง
ปัญหาที่เกิดขึ้นซ้ำในการพัฒนาซอฟต์แวร์คือการตัดสินใจที่ไม่ถูกต้องเกี่ยวกับเทคนิค วิธีการ และเครื่องมือที่จะใช้ ส่วนใหญ่การตัดสินใจเหล่านี้อยู่บนพื้นฐานของการรับรู้ของนักพัฒนาเกี่ยวกับสิ่งเหล่านั้น ปัจจัยที่มีอิทธิพลต่อการรับรู้ของคนคือประสบการณ์ในอดีต แต่ไม่ใช่เพียงปัจจัยเดียว ในการวิจัยนี้ เรามุ่งที่จะค้นพบว่าการรับรู้ถึงประสิทธิผลในการตรวจจับข้อบกพร่องของเทคนิคต่างๆ ตรงกับประสิทธิผลจริงมากน้อยเพียงใดในกรณีที่ไม่มีประสบการณ์ก่อนหน้า
\ เพื่อทำเช่นนี้ เราดำเนินการศึกษาเชิงประจักษ์พร้อมกับการทำซ้ำ ระหว่างการศึกษาเดิม เราดำเนินการทดลองแบบควบคุมกับนักศึกษาโดยใช้เทคนิคการทดสอบสองเทคนิคและเทคนิคการตรวจสอบโค้ดหนึ่งเทคนิค เมื่อสิ้นสุดการทดลอง พวกเขาทำแบบสำรวจเพื่อค้นหาว่าเทคนิคใดที่พวกเขารับรู้ว่ามีประสิทธิผลมากที่สุด ผลลัพธ์แสดงให้เห็นว่าการรับรู้ของผู้เข้าร่วมนั้นผิดและความไม่สอดคล้องนี้มีค่าใช้จ่ายสูงในแง่ของคุณภาพ
\ เพื่อให้เข้าใจผลลัพธ์มากขึ้น เราทำการทดลองแบบควบคุมซ้ำและขยายแบบสำรวจให้รวมคำถามเกี่ยวกับความคิดเห็นของผู้เข้าร่วมเกี่ยวกับเทคนิคและโปรแกรม ผลของการศึกษาซ้ำยืนยันผลการค้นพบของการศึกษาเดิมและชี้ให้เห็นว่าการรับรู้ของผู้เข้าร่วมอาจไม่ได้อยู่บนพื้นฐานของความคิดเห็นเกี่ยวกับความซับซ้อนหรือความชอบสำหรับเทคนิค แต่อยู่บนพื้นฐานของความคิดว่าพวกเขาประยุกต์ใช้เทคนิคได้ดีเพียงใด
แนวปฏิบัติที่เป็นที่นิยมมากขึ้นในปัจจุบันคือบริษัทพัฒนาซอฟต์แวร์ปล่อยให้นักพัฒนาเลือกสภาพแวดล้อมทางเทคโนโลยีของตนเอง นี่หมายความว่านักพัฒนาที่แตกต่างกันอาจใช้เครื่องมือเพิ่มประสิทธิภาพที่แตกต่างกัน (ภาษาโปรแกรม, IDE ฯลฯ) อย่างไรก็ตาม วิศวกรรมซอฟต์แวร์ (SE) เป็นสาขาวิชาที่เน้นมนุษย์เป็นหลักซึ่งการตัดสินใจที่ผิดพลาดอาจส่งผลต่อคุณภาพของซอฟต์แวร์ที่เกิดขึ้น ใน SE การตัดสินใจว่าจะใช้วิธีการ เทคนิค และเครื่องมือใดในการพัฒนาซอฟต์แวร์มักจะอยู่บนพื้นฐานของการรับรู้และ/หรือความคิดเห็นของนักพัฒนามากกว่าหลักฐาน ตามที่ Dyb˚a et al. [19] และ Zelkowitz et al. [55] แนะนำ
\ อย่างไรก็ตาม หลักฐานเชิงประจักษ์อาจไม่มีให้ใช้ เนื่องจากวิธีการ เทคนิค หรือเครื่องมือบางอย่างอาจไม่ได้รับการศึกษาในบริบทเฉพาะหรือไม่ได้รับการศึกษาเลย หรือนักพัฒนาอาจไม่คุ้นเคยกับการศึกษาดังกล่าว ตามที่ Vegas & Basili [49] กล่าว ด้วยเหตุนี้ จึงเป็นสิ่งสำคัญที่จะค้นพบว่าการรับรู้ของนักพัฒนา (ความเชื่อ) ตรงกับความเป็นจริงดีเพียงใด และหากไม่ตรงกัน ให้ค้นหาว่าอะไรอยู่เบื้องหลังความไม่สอดคล้องนี้ ตามที่ Devanbu et al. [14] ได้กล่าวไว้ ตามหลักจิตวิทยา ประสบการณ์มีบทบาทในการรับรู้ของคน สิ่งนี้ยังได้รับการสังเกตโดย Devanbu et al. [14] ใน SE
\ อย่างไรก็ตาม งานวิจัยนี้มุ่งที่จะค้นพบว่าการรับรู้สอดคล้องกับความเป็นจริงดีเพียงใดในกรณีที่ไม่มีประสบการณ์ก่อนหน้าในเทคโนโลยีที่ใช้ สิ่งนี้มีเหตุผลหลายประการ: 1) ประสบการณ์ไม่ใช่ปัจจัยเดียวที่ส่งผลต่อการรับรู้ของนักพัฒนา 2) ทีมพัฒนามักประกอบด้วยคนที่มีและไม่มีประสบการณ์ และ 3) ไม่ชัดเจนว่าประสบการณ์ประเภทใดที่มีอิทธิพลต่อการรับรู้ ตัวอย่างเช่น Dieste et al. [17] สรุปว่าประสบการณ์ทางวิชาการมากกว่าประสบการณ์วิชาชีพอาจส่งผลต่อคุณภาพภายนอกของโค้ดที่สร้างโดยนักพัฒนาเมื่อใช้การพัฒนาแบบขับเคลื่อนด้วยการทดสอบ
\ เรามุ่งที่จะศึกษาว่าการรับรู้เกี่ยวกับประสิทธิผลของเทคนิคการตรวจจับข้อบกพร่องสามเทคนิคตรงกับความเป็นจริงหรือไม่ และถ้าไม่ อะไรอยู่เบื้องหลังการรับรู้เหล่านี้ ตามความรู้ที่ดีที่สุดของเรา นี่เป็นบทความแรกที่ประเมินประเด็นนี้เชิงประจักษ์ เพื่อจุดประสงค์นี้ เราได้ดำเนินการศึกษาเชิงประจักษ์พร้อมกับการทำซ้ำกับนักศึกษา ระหว่างการศึกษาเดิม เราวัด (ในฐานะส่วนหนึ่งของการทดลองแบบควบคุม) ประสิทธิผลของเทคนิคการทดสอบสองเทคนิคและเทคนิคการตรวจสอบโค้ดหนึ่งเทคนิคเมื่อใช้โดยผู้เข้าร่วม จากนั้นเราตรวจสอบเทคนิคที่รับรู้ว่ามีประสิทธิผลมากที่สุด (รวบรวมโดยใช้แบบสำรวจ) เทียบกับเทคนิคจริง
\ นอกจากนี้ เราวิเคราะห์ต้นทุนของความไม่สอดคล้องระหว่างการรับรู้และความเป็นจริงในแง่ของการสูญเสียประสิทธิผล ผลการค้นพบที่สำคัญรวมถึง:
– คนที่แตกต่างกันรับรู้ว่าเทคนิคที่แตกต่างกันมีประสิทธิผลมากกว่า ไม่มีเทคนิคใดที่ถูกรับรู้ว่ามีประสิทธิผลมากกว่าเทคนิคอื่นๆ – การรับรู้ของผู้เข้าร่วม 50% (11 จาก 23 คน) ผิด
– การรับรู้เทคนิคที่ผิดสามารถลดประสิทธิผลลง 31pp (จุดร้อยละ) โดยเฉลี่ย
\ ผลการค้นพบเหล่านี้นำไปสู่การขยายเป้าหมายของการศึกษาในการทำซ้ำเพื่อตรวจสอบว่าอะไรอาจอยู่เบื้องหลังการรับรู้ของผู้เข้าร่วม เพื่อทำเช่นนี้ เราตรวจสอบความคิดเห็นของพวกเขาเกี่ยวกับเทคนิคที่พวกเขาใช้และโปรแกรมที่พวกเขาทดสอบในการทำซ้ำของการทดลองแบบควบคุม ผลการค้นพบที่สำคัญรวมถึง:
– ผลของการศึกษาซ้ำยืนยันผลการค้นพบของการศึกษาเดิม
– ผู้เข้าร่วมคิดว่าประสิทธิผลของเทคนิคขึ้นอยู่กับประสิทธิภาพของพวกเขาเท่านั้น ไม่ใช่จุดอ่อนที่เป็นไปได้ของเทคนิคเอง – ความคิดเห็นเกี่ยวกับความซับซ้อนของเทคนิคและความชอบสำหรับเทคนิคดูเหมือนจะไม่มีบทบาทในการรับรู้ประสิทธิผล ผลลัพธ์เหล่านี้มีประโยชน์สำหรับนักพัฒนาและนักวิจัย พวกเขาแนะนำ:
– นักพัฒนาควรตระหนักถึงข้อจำกัดของการตัดสินใจของพวกเขา
– ควรออกแบบเครื่องมือที่ให้ข้อมูลย้อนกลับแก่นักพัฒนาเกี่ยวกับประสิทธิผลของเทคนิค
– ควรกำหนดการผสมผสานเทคนิคที่ดีที่สุดที่จะใช้ซึ่งสามารถประยุกต์ใช้ได้ง่ายและมีประสิทธิผลในเวลาเดียวกัน – ควรพัฒนาเครื่องมือเพื่อทำให้ผลลัพธ์เชิงประจักษ์พร้อมใช้งานสำหรับนักพัฒนา
\ เอกสารที่เกี่ยวข้องกับการศึกษาที่นำเสนอที่นี่สามารถพบได้ที่ https://github.com/GRISE-UPM/Misperceptions บทความนี้จัดระเบียบดังนี้ ส่วนที่ 2 อธิบายการศึกษาเดิม ส่วนที่ 3 นำเสนอภัยคุกคามต่อความถูกต้อง ส่วนที่ 4 อภิปรายผลลัพธ์ ส่วนที่ 5 อธิบายการศึกษาซ้ำตามการปรับเปลี่ยนที่ทำกับการศึกษาเดิม ส่วนที่ 6 นำเสนอภัยคุกคามต่อความถูกต้อง ส่วนที่ 7 รายงานผลของการศึกษาซ้ำนี้ ส่วนที่ 8 อภิปรายผลการค้นพบของเราและนัยสำคัญ ส่วนที่ 9 แสดงงานที่เกี่ยวข้อง สุดท้าย ส่วนที่ 10 สรุปบทสรุปของงานนี้
\ \
:::info บทความนี้มีอยู่บน arxiv ภายใต้ใบอนุญาต CC BY-NC-ND 4.0
:::
\


