Những người khác đã được đề xuất để xây dựng tái cấu trúc trên nhiều
đại diện chương trình cấp cao để làm cho nó dễ dàng hơn cho cả hai
mô tả phép tái cấu trúc và lập luận về tính đúng đắn của họ.
Griswold [26] sử dụng đồ thị phụ thuộc chương trình (PDGs),
trong đó kết hợp các thông tin về kiểm soát và lưu lượng dữ liệu
phụ thuộc, và giới thiệu có nghĩa là bảo quản đồ thị
quy tắc chuyển đổi về lý do bảo quản hành vi.
Khó khăn chính với một cách tiếp cận như vậy là trung gian
giữa sự biến đổi của AST của chương trình và những
biến đổi tương ứng của PDG; trong Griswold của
trường hợp này là tương đối dễ dàng vì ông căn cứ vào công việc của mình (một tập hợp con của firstorder) Đề án, nơi thư này là nhiều hơn
đơn giản hơn trong hầu hết các ngôn ngữ.
Tương tự như vậy, Mens et al. [32] Xây dựng tái cấu trúc như đồ thị
biến đổi và chính thức hóa một số khía cạnh của hành vi của một chương trình như các thuộc tính của đồ thị đại diện cho nó.
Họ không nhằm mục đích nắm bắt được ngữ nghĩa đầy đủ theo cách này,
tuy nhiên, nhưng thuộc tính chỉ cụ thể như bảo tồn
các mục tiêu phương pháp gọi . Cũng tương tự vậy, Schafer et al.
Xây dựng tái cấu trúc về ảnh hưởng của họ trên tĩnh
phụ thuộc chương trình, trong đó cam kết ràng buộc tên là một trong những
ví dụ [8], [33], [34]. JunGL [35], một tên miền cụ thể
ngôn ngữ cho phép tái cấu trúc thực hiện, cũng cung cấp một
quan điểm dựa trên đồ thị của chương trình tái cấu trúc, nhưng trọng tâm của nó là
chủ yếu trên cho phép thực hiện gọn gàng mới
tái cấu trúc, chứ không phải là lý luận về tính đúng đắn của họ.
Một số tác giả có thành phần của tái cấu trúc coi, nơi nhỏ, tái cấu trúc mục đích chung được cấu tạo để mang lại lớn hơn, nhiều hơn tái cấu trúc mục đích đặc biệt
[33], [36], [37]. Một câu hỏi trung tâm ở đây là làm thế nào để tạo nên
điều kiện tiên quyết của tái cấu trúc thành phần để có được điều kiện tiên quyết cho refactoring composite, và làm thế nào để tái sử dụng
các kết quả phân tích giữa các giai đoạn khác nhau của tái cấu trúc.
Trong khi vấn đề này chủ yếu là trực giao với các vấn đề của
việc đặt tên và khả năng tiếp cận coi trong này làm việc, sử dụng một
đại diện likeJLcould vẫn giúp được gì vì nó làm giảm
số lượng các điều kiện tiên quyết rõ ràng để xem xét và thậm chí
cho phép các chương trình trung gian mà không phù hợp với
cách đặt tên hoặc không tiếp cận kỷ luật ngôn ngữ của đối tượng miễn
là chương trình cuối cùng có thể được dịch lại cho các đối tượng
ngôn ngữ, do đó tránh bị từ chối giả
đang được dịch, vui lòng đợi..
