|
การจัดลำดับการใช้งานวิธีรีแฟคทอริงในการปรับแก้ไขโค้ด โดยการใช้มาตรวัดเชิงวัตถุและอัลกอริทึมละโมบ |
|---|---|
| รหัสดีโอไอ | |
| Title | การจัดลำดับการใช้งานวิธีรีแฟคทอริงในการปรับแก้ไขโค้ด โดยการใช้มาตรวัดเชิงวัตถุและอัลกอริทึมละโมบ |
| Creator | รัฐพงษ์ วงศ์เปียง |
| Contributor | พรศิริ หมื่นไชยศรี |
| Publisher | จุฬาลงกรณ์มหาวิทยาลัย |
| Publication Year | 2556 |
| Keyword | ซอฟต์แวร์ -- การพัฒนา, การบำรุงรักษาซอฟต์แวร์, รหัสต้นฉบับ (วิทยาการคอมพิวเตอร์), Computer software -- Development, Software maintenance, Source code (Computer science) |
| Abstract | รีแฟคทอริงเป็นกระบวนการการเปลี่ยนแปลงโครงสร้างภายในของซอฟต์แวร์ โดยไม่ทำให้พฤติกรรมการทำงานของซอฟต์แวร์นั้นเปลี่ยนแปลง ทำให้ซอฟต์แวร์นั้นง่ายต่อการบำรุงรักษาในภายหลัง การปรับแก้ไขซอฟต์แวร์เพื่อเพิ่มความสามารถในการบำรุงรักษาซอฟต์แวร์หนึ่งๆ อาจจำเป็นต้องใช้วิธีรีแฟคทอริงหลายวิธีในการปรับแก้ไข ซึ่งการใช้งานวิธีรีแฟคทอริงในลำดับที่แตกต่างกันในการปรับแก้ไขโค้ดจะทำให้ได้ซอร์ซโค้ดที่แตกต่างกันซึ่งมีผลทำให้ค่าความสามารถในการบำรุงรักษาซอฟต์แวร์นั้นแตกต่างกันออกไป วิทยานิพนธ์นี้จึงนำเสนอแนวคิดในการค้นหาลำดับการใช้งานวิธีรีแฟคทอริงในการปรับแก้ไขโค้ดโดยการใช้มาตรวัดเชิงวัตถุและอัลกอริทึมละโมบเพื่อให้ได้ซอร์ซโค้ดที่มีความสามารถในการบำรุงรักษาซอฟต์แวร์ที่เหมาะสมภายหลังจากการปรับแก้ไข อัลกอริทึมละโมบจะช่วยแยกลำดับการใช้งานวิธีรีแฟคทอริงที่เป็นคำตอบออกจากลำดับการใช้งานวิธีรีแฟคทอริงที่เป็นไปได้ทั้งหมดในการแก้ไขโค้ด โดยการทดลองนั้นจะทดสอบกับซอร์ซโค้ดที่ประกอบด้วยร่องรอยที่ผิดพลาดทั้ง 3 ลักษณะ คือ ร่องรอยที่ผิดพลาดแบบเมท็อดที่มีความยาวมาก ร่องรอยที่ผิดพลาดแบบคลาสที่มีขนาดใหญ่ และร่องรอยที่ผิดพลาดแบบฟีเจอร์เอนวี เพื่อเปรียบเทียบความสามารถในการบำรุงรักษาของซอร์ซโค้ดระหว่างซอร์ซโค้ดที่ปรับแก้ไขตามลำดับที่ได้จากวิธีการใช้มาตรวัดเชิงวัตถุและอัลกอริทึมละโมบกับซอร์ซโค้ดที่ปรับแก้ไขโดยไม่พิจารณาลำดับการใช้งานวิธีรีแฟคทอริง ซึ่งผลการทดลองนั้นแสดงให้เห็นว่าซอร์ซโค้ดที่ปรับแก้ไขตามลำดับที่ได้จากวิธีการใช้มาตรวัดเชิงวัตถุและอัลกอริทึมละโมบนั้นจะมีค่าความสามารถในการบำรุงรักษาซอฟต์แวร์มากกว่าซอร์ซโค้ดที่ปรับแก้ไขโดยไม่พิจารณาลำดับการใช้งานวิธีรีแฟคทอริง |
| URL Website | cuir.car.chula.ac.th |