سؤال

والتي تحليل ثابت أدوات جافا أسهل تمديد آلية.راجعت PMD ولكن عملية كتابة قواعد العرف يبدو أن يشارك جدا.على وجه التحديد, أريد أن أعرف ما إذا كان هناك أي الأدوات التي تقدم AspectJ مثل بناء الجملة من أجل تنتقي المناطق المثيرة للاهتمام من الكود ؟ أنا على علم AspectJ هو declare warning ولكن يبدو أن تكون محدودة في ما يمكن القيام به.

لقد وجدت ذات السؤال:

ثابت أداة تحليل توصية جافا ؟ ثابت أداة تحليل توصية جافا ؟

الإجابات القائمة العديد من الأدوات.ولكن أريد أن العثور على واحد الذي يوفر الخيار الأسهل لكتابة قواعد العرف.

تحرير: حتى الآن PMD هو XPath التعبير المقترحة من قبل غيوم يبدو أن الأقرب إلى ما أنا أبحث عنه.وسوف يتم استكشاف قريبا.

هل كانت مفيدة؟

المحلول

المشكلة الحقيقية مع "تمديد" ثابت أداة تحليل هو "تحليل ثابت" هو مثل هذا الموضوع الواسع التي تحتاج إلى الكثير من الآلات للقيام بذلك في عام:تحليل شجرة مبنى التحكم في تدفق الرسم البياني لاستخراج تدفق البيانات واستخراج نقاط إلى تحليل interprocedural تحليل, تحليل مجموعة, والقائمة تطول وتطول ، انظر طن من مترجم الأدب على تحليل البرامج.

قد تستخدم مطابقة نمط من سطح بناء الجملة التركيز الأداة الاهتمام على بعض التعليمات البرمجية للبرنامج ، ولكن سوف لا يزال لديك شرح أداة ما تريد "ثابت تحليل" في هذه النقطة (و بعض التحليلات [مثل نقطة-إلى] تتطلب منك القيام بالتحليل في كل مكان أولا, و من ثم اختيار الجزء الذي تريد).

الأخلاقية:لا نتوقع تمديد أداة للقيام التعسفي التحليل تكون سهلة.يجب أن الأساس تقرر ما هي أنواع تحليل يهمك مقدما (الملوث المدخلات ؟ منخفض مجموعة الشيكات ؟ API الإساءة؟) والعثور على أداة بالفعل يدعم هذا النوع من الشيء.على الأقل ثم بك "امتداد" قد فرصة من كونها بسيطة بحكم كونها تشبه ما أداة بالفعل.

لدينا DMS برنامج إعادة هندسة أدوات محاولة سداد تكلفة بناء جميع أنواع تحليل الآلات عبر العديد من التطبيقات و لغات.فإنه يوفر تحليل التحكم/البيانات تحليل نقطة-إلى تحليل بدرجات متفاوتة C, C++, Java و كوبول.ولها سطح بناء الجملة مطابقة نمط لمساعدتك في "نقطة".انظر http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html

نصائح أخرى

هو في الواقع من السهل جدا أن أكتب القواعد المخصصة امج.امج توفر xPath جملة مثل أن تجد مثيرة للاهتمام المنطقة من التعليمات البرمجية الخاصة بك, حتى إذا كان لديك بعض الحد الأدنى من الخبرة مع XML, سوف تكون قادرا على الشروع في أي وقت من الأوقات.أقترح عليك أن تستثمر 1-2 ساعات في أي PMD أو Findbugs وأعود هنا إذا كانت لديك أسئلة محددة.

ونحن قد تكون قادرة على إعطائك إجابة أفضل إذا كنت تقول لنا بالضبط ما هو نوع من القواعد التي تحاول الكتابة ...

كتابة Findbugs مخصص للكشف عن بسيط جدا.

كنت مجرد قطرة في دليل البرنامج المساعد الخاص بك FindBugs التثبيت ، مثل شرح هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top