Như Martin chỉ ra , có một số công việc về đại diện phân loại của các bản vá. "Một lý thuyết phân loại các bản vá lỗi" của Mimram và Di Giusto là cách tiếp cận phân loại rộng rãi nhất để chỉnh sửa các tập lệnh như được sử dụng bởi UNIX diff
.
LA:[n]→L[n]nA:[n]→LB : [ m ] → Lf:[n]→[m]. Tiêm và tăng đang có để chỉ ra rằng các bản sao không bao giờ vượt qua nhau. Bạn có thể tìm thấy tất cả các chi tiết trên giấy .
Có, sáp nhập được coi là sự thúc đẩy trong việc hoàn thành miễn phí của thể loại trên. Chúng tôi cần cocompletion để đảm bảo chúng tôi thêm xung đột hợp nhất vào công trình của chúng tôi. Nó không phải là trường hợp hợp nhất luôn tồn tại.
Vào câu hỏi thứ hai của bạn, không có khái niệm phân loại về kịch bản chỉnh sửa tối thiểu vì hai lý do chính.
Chỉnh sửa-script đến trong tất cả các hình dạng và hình thức. Một số tác giả xem xét chèn, xóa và sao chép, một số tác giả muốn thêm thay thế như là một hoạt động quá. Khi bạn khái quát hóa từ chuỗi sang cây, sau đó, rất nhiều hoạt động khác trở nên khả thi.
abba
Đã có rất nhiều công việc về khái quát hóa các kịch bản chỉnh sửa thành cây. Điều này đã được chia thành hai cơ quan chính của công việc:
Cây không được chăm sóc : Chỉ nghĩ về biểu thức s. Khoảng cách chỉnh sửa cây giữa hai cây là khoảng cách chỉnh sửa chuỗi giữa các lần đặt hàng trước của các cây đã nói. Bạn có thể kiểm tra một số thư mục của Demaine et al. hoặc ví dụ như Pawlik và Augsten .
Cây được gõ : Các bản vá trên các Cú pháp Tóm tắt được đảm bảo để bảo vệ tính đánh máy tốt của đối tượng, nghĩa là, áp dụng một bản vá sẽ luôn mang lại AST hợp lệ. Dưới chiếc ô được gõ, có ít thao tác chỉnh sửa hơn người ta có thể xem xét. Thay thế, ví dụ, không có ý nghĩa. Tuy nhiên, có tồn tại một sự khác biệt so với giao dịch đặt hàng trước của cây bởi Lempsink et al. , mà sau đó đã được mở rộng bởi Vassena . Tôi hiện đang tập trung vào các phương pháp tiếp cận bản thân với các kịch bản chỉnh sửa cho các vấn đề mà tôi đã chỉ ra trước đó, chẳng hạn như công việc mới nhất của chúng tôi hoặc một số công việc trước đó cố gắng tận dụng cấu trúc của loại giá trị được "vá".
Trong một trong những trường hợp đó, tôi đã không thấy một cách giải thích phân loại cẩn thận về các mảng cấu trúc cây.