تصور کنید ساعتها وقت خود را صرف بازنویسی مشخصاتی کنید که پیشتر در زبانی دیگر نوشته شده است. اگر هنوز به درختهای نحو (AST) برای تأیید کد اعتماد میکنید، احتمالاً در حال تکرار اشتباهات گذشته هستید.
به نقل از مقالهای که در ۳۰ آوریل ۲۰۲۶ در arxiv.org منتشر شد، پژوهشگران راهکاری را معرفی کردهاند که برنامههای امری و یادداشتهای آنها را به گرافهای صفتدار تایپشده (Typed Attributed Graphs) تبدیل میکند. بر اساس مستندات این پژوهش، این رویکرد به توسعهدهندگان اجازه میدهد تا شباهتهای ساختاری و معنایی را در برنامهها و مشخصات متنوع شناسایی کنند.
این سیستم از یک ادغام ترکیبی برای رسیدن به این هدف استفاده میکند:
- تحلیل درخت نحو انتزاعی (Abstract Syntax Tree - AST) برای استخراج روابط ساختاری.
- استفاده از بردار معنایی (Embedding) استخراجشده از مدلهای SentenceTransformer و CodeBERT برای درک معنای متنی.
در پوشش پیشین ما از مدلهای تحلیل کد، دیدیم که چگونه مدلهای زبانی بزرگ در درک ساختارهای پیچیده دچار مشکل میشوند؛ اما این رویکرد گرافی، دقیقاً همان حلقهی گمشده برای یکسانسازی معنایی است.
پژوهشگران این خط لوله را با استفاده از مجموعهدادههای متنوعی از جمله زبان C با ACSL، زبان Java با JML و زبان Dafny برای C# اعتبارسنجی کردند. نتایج نشان میدهد که میتوان نمایشهای گرافی یکپارچهای ایجاد کرد که به زبان برنامهنویسی یا سبک یادداشتگذاری وابسته نباشند.
این دستاورد زیربنای عملی برای تطبیق تقریبی گراف (Approximate Graph Matching) را فراهم میکند که برای بازیافت مقیاسپذیر مصنوعات تأیید ضروری است. با پر کردن شکاف بین کد خام و معنای مفهومی، اصطکاک در تأیید رسمی نرمافزار به شدت کاهش مییابد. اگرچه نویسندگان درصد دقیقی از بهبود دقت تطبیق را در چکیده ذکر نکردند، اما بر یکپارچگی نمایشها تأکید داشتند.
اما تأثیر این رویکرد بر امنیت سیستمهای بحرانی حتی تکاندهندهتر است — به بررسی ما دربارهی تأیید رسمی (Formal Verification) در سیستمهای هوافضا مراجعه کنید.
گام بعدی شما
- بررسی پیادهسازیهای مبتنی بر CodeBERT برای تحلیل معنایی کد.
- مطالعهی متدولوژیهای Approximate Graph Matching برای بازیافت مصنوعات تأیید.
- ارزیابی جایگزینی ASTهای سنتی با گرافهای صفتدار در خط لولههای CI/CD.




گفتگو