2012-01-27 9 views
7

क्या कोई स्थिर विश्लेषण उपकरण है जो स्वचालित रूप से जावा परियोजनाओं में दौड़ की स्थिति के लिए जांच करता है? अधिमानतः एक ग्रहण, वसंत और हाइबरनेट का समर्थन करता है। धन्यवादक्या कोई स्थिर विश्लेषण उपकरण है जो स्वचालित रूप से जावा परियोजनाओं में दौड़ की स्थिति के लिए जांच करता है?

संपादित करें: मुझे आवश्यक रूप से एक स्थिर विश्लेषण उपकरण की आवश्यकता नहीं हो सकती है, लेकिन शायद एक उपकरण जो जावा थ्रेड (कम से कम जुनीट) को विभिन्न यादृच्छिक गति के साथ चलाता है और डीबगर के तहत उसी गति प्रोफ़ाइल को पुन: पेश कर सकता है। तो, दौड़ की स्थिति का पता लगाने का लगभग कोई भी तरीका उपयोगी होगा।

+2

उनके प्रयास मदद करने के लिए और [जवाब को स्वीकार] के लिए लोगों को ऋण देना करें (http : //meta.stackexchange.com/a/5235/160062) आपके पिछले प्रश्नों पर। आपने एक जवाब स्वीकार नहीं किया है। – oers

उत्तर

6

JLint रेस-स्थितियों का पता लगाने के लिए उपयोग किया जा सकता है। आईबीएम के ConTest को समवर्ती मुद्दों का परीक्षण करने के लिए डिज़ाइन किया गया है, इसलिए इसे भी देखें।

+0

जेलिंट वेबसाइट गंभीर नहीं लग रही है। इसलिए क्या आप मुझसे पूछेंगे कि क्या आपने इसे स्वयं करने की कोशिश की है और क्या यह आपके लिए अच्छा काम करता है? – user1081596

+2

JLINT सबसे अच्छा @ user1081596 में से एक है। कवर द्वारा पुस्तक को न दबाएं :) –

+2

जेलिंट "user1081596" नाम के रूप में गंभीर है;) एक तरफ चुटकुले, एकमात्र कारण यह "गंभीर नहीं दिखता है" क्योंकि दोस्त किसी वेबसाइट से परेशान नहीं होता है और है java.net या sourceforge के तहत इसे होस्ट नहीं कर रहा है ... – Gepsens

1

स्टेटिक विश्लेषण एक अच्छी बात है, इसमें कोई संदेह नहीं है। लेकिन क्या मैं इतना स्थिर JPF का सुझाव नहीं दे सकता?

+1

यह अच्छा होगा अगर जेपीएफ उपयोग करने में थोड़ा आसान था, हालांकि। –

+0

दस्तावेज़ीकरण का कहना है कि जेपीएफ डेडलॉक्स की जांच करता है लेकिन क्या यह दौड़ की स्थिति की जांच करता है? – user1081596

+0

@ user1081596 हां यह करता है। –

1

यदि आप ग्रहण का उपयोग करते हैं तो आप कोड की जांच के लिए FindBugs का उपयोग कर सकते हैं। यदि आप चाहते हैं कि आप इसे कमांड लाइन से या स्विंग इंटरफ़ेस से भी चला सकें।

0

मैंने व्यक्तिगत रूप से उत्पाद का उपयोग नहीं किया है, लेकिन मैंने Corensic Jinx के बारे में सोचा था जब आपने लिखा था कि आप "एक उपकरण ढूंढ रहे हैं जो जावा थ्रेड (कम से कम जुनीट) को विभिन्न यादृच्छिक गति के साथ चलाता है"। कोरेंसिक के उत्पाद विवरण पृष्ठ के अनुसार, जिनक्स देशी ओएस थ्रेड स्तर पर थ्रेडिंग ऑपरेशंस देखता है और "गतिशील रूप से संभावित अंतःक्रियाओं का एक सेट बनाता है (यानी, वैकल्पिक घटनाएं, या निष्पादन परिदृश्य, जो कुछ भविष्य के स्थितियों के तहत घटित होते हैं) जो सबसे अधिक संभावना है परिणामस्वरूप संवेदनात्मक दोषों के परिणामस्वरूप, और उन निष्पादन पथों को जल्दी से परीक्षण करते हैं जिनमें मृतक, दौड़ की स्थिति और परमाणु उल्लंघन सहित सतह समेकन समस्याएं होती हैं। "

यह जावा-माइक्रोसॉफ्ट .NET अनुप्रयोगों का समर्थन करने के लिए सभी जावा अनुप्रयोग के लिए बहुत कम स्तर हो सकता है, लेकिन Corensic claims

Using Jinx with Java

1

देखें जावा झंडे दौड़ की स्थिति, और साथ ही संभव गतिरोध और atomicity उल्लंघन के लिए Coverity स्टेटिक विश्लेषण।

इसके अलावा कवरिटी में एक गतिशील विश्लेषण उत्पाद है जो आपके स्वयं के परीक्षणों को नियंत्रित करता है और संभावित दौड़ की स्थिति और डेडलॉक्स की रिपोर्ट करता है। ध्यान दें कि यूनिट परीक्षणों पर इसे चलाने से आमतौर पर प्रभावी नहीं होता है क्योंकि उनका तर्क उत्पादन में जटिल अनुप्रयोग के प्रकार की तुलना में सरल होता है और यह आपके तनाव, भार परीक्षण या यहां तक ​​कि विज्ञापन परीक्षण के साथ गतिशील विश्लेषण चलाने के लिए अधिक प्रभावी होता है।

अस्वीकरण: मैं कवरिटी के लिए काम करता था।

0

AppDynamics एक उपकरण है जो आपके जेवीएम से जुड़ा हुआ है और व्यक्तिगत धागे के स्मृति उपयोग के बारे में जानकारी प्रदान करता है।

0

मैंने http://vmlens.com नामक एक उपकरण विकसित किया जो डेटा दौड़ का पता लगा सकता है, विशेष रूप से डेटा रेस लिखना/लिखना। यह मेमोरी फ़ील्ड की खोज करता है जो सिंक्रनाइज़ेशन के बिना विभिन्न थ्रेड से एक्सेस किए जाते हैं।

तो यह एक स्थिर विश्लेषण उपकरण नहीं बल्कि गतिशील है। डेटा रेस का पता लगाने के लिए कम से कम दो अलग-अलग धागे से स्मृति स्थान का उपयोग किया जाना चाहिए।

सादर थॉमस

3

ThreadSafe (http://www.contemplateltd.com/threadsafe, नि: शुल्क परीक्षण उपलब्ध) वास्तव में क्या सवाल पूछता है, तो भी जावा संगामिति दौड़ की स्थिति के अलावा अन्य दोषों को कवर करता है। यह InfoQ article को समरूपता त्रुटियों के उदाहरणों के लिए देखें, जो इसे अपाचे जेएमटर और के 9मेल सहित ओपन सोर्स एप्लिकेशन में पाता है। उपयोगकर्ता की राय के लिए Ivan Senic's blog देखें।

(प्रकटीकरण:। Threadsafe एक वाणिज्यिक उपकरण है, और मैं मनन के सह-संस्थापक, कंपनी है कि यह पैदा करता हूँ)

+0

क्या थ्रेडसेफ छोड़ दिया गया है? नवीनतम संस्करण 20. मार्च 2015 से है। – Nadar

संबंधित मुद्दे

 संबंधित मुद्दे