บันทึกการวิจัย
การสร้างโค้ดให้ได้ผลที่คาดการณ์ได้ต้องมีข้อกำหนดว่าสิ่งใดต้องคงไว้
เหตุใดการสุ่มตัวอย่างแบบกำหนดตายตัวจึงยังไม่เพียงพอ และคุณสมบัติที่กำหนดให้คงไว้ซึ่งสังเกตได้ ตลอดจนการตรวจรับผล ทำให้พฤติกรรมการสร้างโค้ดทดสอบได้อย่างไร
คำตอบโดยตรง
สิ่งใดทำให้การสร้างโค้ดคาดการณ์ได้ แทนที่จะเพียงควบคุมได้
ความสามารถในการคาดการณ์จำเป็นต้องมีข้อตกลงที่สังเกตตรวจสอบได้และระบุก่อนการสร้างว่า สิ่งใดเปลี่ยนแปลงได้ สิ่งใดต้องคงเดิม จะวัดคุณสมบัติแต่ละด้านอย่างไร และจะปฏิเสธผลลัพธ์เมื่อใด พรอมต์ ซีด มาสก์ ไวยากรณ์ หรือโค้ดแฝงที่กำหนดตายตัวเป็นเพียงกลไกเท่านั้น
เหตุผลที่ความแตกต่างนี้สำคัญ
วิธีการและหลักประกันที่กล่าวอ้างต้องอ้างอิงขอบเขตที่สังเกตได้เดียวกัน
การสร้างแบบกำหนดแน่นอนให้ผลลัพธ์เดิมซ้ำภายใต้เงื่อนไขคงที่ ส่วนการสร้างที่คาดการณ์ได้ทำให้คุณสมบัติที่ประกาศไว้สามารถทดสอบได้ เช่น ลายเซ็น API คงเดิม การแก้ไขอยู่ภายในบริเวณที่กำหนด วากยสัมพันธ์ยังถูกต้อง หรือชุดการทดสอบยังคงผ่าน
ความแตกต่างนี้สำคัญ เพราะอินพุตควบคุมไม่ได้เป็นตัวนิยามผลของมัน การตรึงตำแหน่งแฝง การกำหนดซีดตายตัว หรือการจำกัดไวยากรณ์ อาจทำให้ตรวจสอบการสร้างได้ง่ายขึ้น แต่ยังคงต้องวัดคุณสมบัติที่ต้องการปกป้องหลังการถอดรหัส
กระบวนการเชิงปฏิบัติ
ระบุคุณสมบัติที่ต้องปกป้อง
ระบุบริเวณของต้นฉบับ โครงสร้าง ส่วนต่อประสาน พฤติกรรม หรือการแจกแจงที่ต้องคงอยู่ภายในค่าคลาดเคลื่อนที่กำหนด
เลือกกลไกควบคุมที่สอดคล้องกัน
เลือกใช้การนำซอร์สกลับมาใช้ มาสก์การแก้ไข ข้อจำกัดเชิงรูปนัย การล็อกตัวแปรแฝง หรือการเสนอร่วมกับการตรวจสอบ ตามคุณสมบัติที่ต้องการปกป้อง
กำหนดเกณฑ์ยอมรับก่อนสุ่มตัวอย่าง
กำหนดการแจงส่วน การคอมไพล์ การทดสอบ การตรวจสอบโครงสร้าง เกณฑ์ความเป็นเฉพาะที่ และเกณฑ์ความสำเร็จของงานก่อนตรวจพิจารณาผลลัพธ์
วัดพฤติกรรมจากการทำซ้ำ
รายงานการยอมรับ การปฏิเสธ เสถียรภาพ ความหลากหลาย และความไม่แน่นอนจากการรันซ้ำ แทนการอาศัยผลตัวอย่างเพียงกรณีเดียว
หลักฐานที่ต้องกำหนดให้มี
ความหนักแน่นของข้ออ้างขึ้นอยู่กับสมบัติที่วัดภายหลังการสร้างหรือการถอดรหัส
- มีการระบุคุณสมบัติที่ต้องคุ้มครองและคุณสมบัติที่แก้ไขได้แยกจากกัน
- ข้อรับประกันทุกข้อที่กล่าวอ้างต้องมีการทดสอบหรือตัวชี้วัดที่สังเกตได้
- ประเมินความสำเร็จของงานควบคู่กับเสถียรภาพ
- สามารถตรวจสอบความแปรผันจากการรันซ้ำและอัตราการปฏิเสธได้
- คุณสมบัติที่มิได้วัดถูกตัดออกจากข้อกล่าวอ้างอย่างชัดเจน
สิ่งที่งานวิจัยซึ่งเชื่อมโยงไว้รายงาน
- การทดลองที่เชื่อมโยงไว้เปิดเผยตำแหน่งไม่ต่อเนื่องแบบลำดับชั้นให้เป็นพื้นผิวการควบคุมที่ตรวจสอบได้รูปแบบหนึ่งสำหรับฟังก์ชัน Python ขนาดสั้น
- การตรึงตำแหน่งระดับบนสี่ตำแหน่งช่วยเพิ่มอัตราการแจง โดยตำแหน่งที่ไม่ถูกตรึงยังมีอัตราการเปลี่ยนแปลงสูงและตัวอย่างยังมีความเป็นเอกลักษณ์สูง
- บทความรายงานผลนี้เป็นหลักฐานเชิงความน่าจะเป็นเบื้องต้น โดยไม่ได้กล่าวอ้างการคงรักษา AST อย่างแม่นตรง ความสมมูลเชิงความหมาย ความถูกต้องเชิงหน้าที่ หรือความสามารถในการคาดการณ์ระดับคลังโค้ด
ขอบเขตของการศึกษา
- ความสามารถในการคาดการณ์ขึ้นอยู่กับคุณสมบัติแต่ละด้าน ระบบอาจคาดการณ์ได้ในด้านวากยสัมพันธ์ แต่คาดการณ์ไม่ได้ในด้านพฤติกรรม
- การถอดรหัสแบบกำหนดแน่นอนอาจทำซ้ำการแก้ไขที่ผิดหรือกว้างเกินไปแบบเดิม
- การทดลองบนเว็บไซต์ที่มีอยู่ไม่ได้ให้หลักประกันนอกเหนือจากบริบทของฟังก์ชันขนาดสั้นที่ทำการวัด
แหล่งข้อมูลหลักและงานที่เกี่ยวข้อง
โปรดอ้างอิงบทความที่เชื่อมโยงไว้สำหรับวิธีการดั้งเดิม การวัด และข้อจำกัดที่ระบุ
- Inspectable Control for Structure-Preserving Software Regeneration
การทดลองหลักที่มีขอบเขตจำกัดและข้อจำกัดของหลักฐานที่ระบุไว้
- EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding
กลไกที่มุ่งเน้นการแก้ไขและนำช่วงซอร์สที่ไม่เปลี่ยนแปลงกลับมาใช้
- Constrained Decoding of Diffusion LLMs with Context-Free Grammars
ตัวอย่างกลไกที่มีข้อจำกัดเชิงรูปนัยอย่างชัดเจน