5 مستودعات
Static analysis techniques that differentiate between different call sites of the same function to improve precision.
Distinct from Context-Sensitive: The candidates are focused on autocomplete or hotkeys, not static analysis precision.
Explore 5 awesome GitHub repositories matching programming languages & runtimes · Context-Sensitive Analysis. Refine with filters or upvote what's useful.
Semantic is a Haskell-based library and command-line tool designed for polyglot source code analysis. It functions as a static program analysis framework and a polyglot abstract syntax tree parser that converts multiple programming languages into structured syntax trees based on grammar definitions. The system distinguishes itself through a semantic code comparison engine that detects structural and meaningful changes between code versions rather than relying on textual differences. It further enables analysis across different programming syntaxes by translating surface languages into a unifi
Adjusts the performance and sensitivity of program analyses to balance speed against result detail.
Cppcheck هو أداة تحليل ثابت ومُدقق (linter) لكود C وC++ المصدري مصمم لاكتشاف أخطاء البرمجة، وتسريبات الذاكرة، وانتهاكات الأمان دون تنفيذ البرنامج. يعمل كمحرك لاكتشاف الأخطاء وأداة لضمان الجودة لتحديد مشكلات التزامن، وأخطاء تحويل النوع، والامتثال لمعايير البرمجة الآمنة. يوفر المشروع واجهة مستخدم رسومية لاختيار الملفات ومراجعة الأخطاء، إلى جانب مُدقق لفرض اصطلاحات التسمية ومعايير البرمجة. يدعم إنشاء قواعد تحليل مخصصة باستخدام التعبيرات النمطية لتحديد أنماط برمجة محددة. تتضمن الأداة قدرات للتحليل التزايدي، وقمع التحذيرات، واستبعاد الملفات لإدارة قواعد الكود الكبيرة. كما تتميز بإنشاء تقارير HTML والتكامل مع محررات مثل VS Code لتوفير تحديد الأخطاء أثناء التطوير.
Allows adjusting analysis precision and depth to balance the trade-off between detection thoroughness and execution speed.
SpotBugs هي أداة تحليل ثابت ومحلل بايت كود (bytecode) لتطبيقات Java. تقوم بمسح ملفات الفئات المجمعة لتحديد الأخطاء، والثغرات الأمنية، ومشكلات الأداء دون تنفيذ الكود. يعمل النظام ككاشف للأخطاء وأداة اختبار أمان التطبيقات الثابتة لتحديد الأخطاء المنطقية وإساءة استخدام واجهة برمجة التطبيقات. يتميز المشروع ببنية كاشف قائمة على الإضافات تسمح بدمج مكتبات خارجية لإضافة قواعد كشف مخصصة. يوفر تدقيقاً أمنياً متخصصاً للثغرات مثل حقن SQL، والبرمجة عبر المواقع (XSS)، واجتياز المسار، إلى جانب نظام نمطي لتحسين دقة التحليل وتقليل النتائج الإيجابية الكاذبة. تغطي الأداة مجموعة واسعة من مجالات الكشف، بما في ذلك أخطاء مزامنة التزامن، وإلغاء مرجعية المؤشر الفارغ، وتسريبات الموارد، وأخطاء تحويل النوع. كما تحدد الكود الميت، وعدم كفاءة الأداء، وانتهاكات اصطلاحات التسلسل. هذه الإمكانات متاحة عبر واجهة سطر الأوامر، وواجهة المستخدم الرسومية، والتكامل المباشر داخل بيئات التطوير المتكاملة. يمكن دمج SpotBugs في خطوط أنابيب البناء لفرض بوابات الجودة وتوليد تقارير التحليل بتنسيقات HTML أو XML.
Balances memory usage and computation cost by toggling interprocedural tracking and exception modeling.
Nilaway is a static analysis tool and linter plugin for Go designed to identify potential nil pointer dereferences in source code to prevent runtime panics. It functions as an inter-procedural pointer analyzer that tracks data flow across functions and packages to detect memory safety issues. The tool differentiates itself by tracking pointer states through anonymous functions, closures, and struct initializations. It employs a pointer analysis framework that monitors how values flow through a program to determine if a variable is safe to dereference at a specific point. The analyzer can be
Implements context-sensitive modeling to differentiate between function calls and reduce false positives.
SVF is an open-source static program analysis framework and points-to analysis library that tracks memory references, variable aliases, and data dependencies across whole programs. The platform translates compiled intermediate code formats into unified internal representations, constructing constraint graphs, call graphs, and control-flow graphs to model interprocedural execution behavior and memory state. The framework incorporates specialized engines for flow-sensitive, flow-insensitive, and context-sensitive pointer analysis alongside sparse value-flow graph generation. It features memory
Determines points-to relationships using customizable data structures and algorithms such as flow-sensitive solvers.