2009-12-03 18 views
6

कोड मेट्रिक्स (उदाहरण: What is the fascination with code metrics?) के बारे में चर्चा का काफी उल्लेख रहा है। मैं (एक सॉफ्टवेयर डेवलपर के रूप में) वास्तव में उन मीट्रिक में रूचि रखता हूं क्योंकि मुझे लगता है कि वे बेहतर कोड लिखने में मदद कर सकते हैं। कम से कम वे मददगार होते हैं जब कोड के उन क्षेत्रों को ढूंढने की बात आती है जिन्हें कुछ रिफैक्टरिंग की आवश्यकता होती है।कोड मेट्रिक्स का मूल्यांकन

हालांकि, मैं जो जानना चाहता हूं वह निम्नलिखित है। क्या उन स्रोत कोड मीट्रिक का कुछ मूल्यांकन है जो साबित करते हैं कि वे वास्तव में किसी विधि की बग-दर या रखरखाव से संबंधित हैं। उदाहरण के लिए: एक बहुत ही उच्च चक्रीय-जटिलता वाले तरीके वास्तव में कम जटिलता वाले तरीकों की तुलना में अधिक बग पेश करते हैं? या उच्च कठिनाई वाले स्तर (Halstead) के साथ विधियों को वास्तव में कम से कम विधियों की तुलना में बनाए रखने के लिए बहुत अधिक राशि की आवश्यकता है?

शायद किसी को इस क्षेत्र में कुछ विश्वसनीय शोध के बारे में पता है।

बहुत बहुत धन्यवाद!

उत्तर

1

यहाँ कुछ कर रहे हैं:

Object-oriented metrics that predict maintainability

A Quantitative Evaluation of Maintainability Enhancement by Refactoring

Predicting Maintainability with Object-Oriented Metrics - An Empirical Comparison

वस्तु उन्मुख प्रणाली में दोष उन्मुखता पर युग्मन मेट्रिक्स का प्रभाव की जांच

The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics

2

अच्छा सवाल, कोई सीधा जवाब नहीं।

शोध पत्र उपलब्ध हैं जो उदाहरण के लिए, चक्रीय जटिलता और बग के बीच संबंध दिखाते हैं। समस्या यह है कि अधिकांश शोध पत्र स्वतंत्र रूप से उपलब्ध नहीं हैं।

मुझे निम्न मिला है: http://www.pitt.edu/~ckemerer/CK%20research%20papers/CyclomaticComplexityDensity_GillKemerer91.pdf। हालांकि यह चक्रवात जटिलता और उत्पादकता के बीच एक रिश्ता दिखाता है। हालांकि इसमें अन्य कागजात के कुछ संदर्भ हैं, और यह उन पर Google की कोशिश करने लायक है।

1

this article from Microsoft research पर एक नज़र डालें। आम तौर पर मैं माइक्रोसॉफ्ट से बाहर आने वाले विकास के ज्ञान से संदिग्ध हूं, लेकिन उनके पास संसाधन हैं जो बड़े उत्पादों के दीर्घकालिक अध्ययन करने में सक्षम हैं। संदर्भित लेख विभिन्न मीट्रिक और परियोजना दोष दर के बीच मिले सहसंबंध के बारे में बात करता है।

1

अंततः मुझे सॉफ़्टवेयर मीट्रिक और त्रुटि-दर के बीच सहसंबंध के बारे में कुछ कागजात मिल गए लेकिन उनमें से कोई भी वास्तव में मैं जो खोज रहा था वह नहीं था। अधिकांश कागजात पुराने हैं (80 के दशक के उत्तरार्ध या 90 के दशक के प्रारंभ में)।

मुझे लगता है कि वर्तमान सॉफ्टवेयर का विश्लेषण शुरू करना बहुत अच्छा विचार होगा। मेरी राय में कुछ पॉपुलर ओपन सोर्स सिस्टम की जांच करना संभव होना चाहिए। स्रोत कोड उपलब्ध है और (जो मुझे लगता है वह अधिक महत्वपूर्ण है) कई परियोजनाएं समस्या ट्रैकर्स और कुछ प्रकार के संस्करण नियंत्रण प्रणाली का उपयोग करती हैं। शायद संस्करण सिस्टम और समस्या ट्रैकर्स के लॉग के बीच एक मजबूत लिंक खोजना संभव होगा। यह कुछ सॉफ्टवेयर मीट्रिक और बग दर के बीच संबंध का विश्लेषण करने की एक बहुत ही रोचक संभावना का कारण बन जाएगा।

शायद वहां अभी भी एक प्रोजेक्ट है जो मैंने ऊपर वर्णित किया है। क्या किसी को ऐसा कुछ पता है?

0

हमने प्रसिद्ध चिदंबर और केमेरर ऑब्जेक्ट उन्मुख मेट्रिक्स की बग भविष्यवाणी क्षमताओं के बारे में एक अनुभवजन्य अध्ययन आयोजित किया। यह पता चला कि इन मेट्रिक्स संयुक्त 80% से अधिक की सटीकता के साथ बग की भविष्यवाणी कर सकते हैं जब हमने उचित मशीन लर्निंग मॉडल लागू किए। यदि आप रुचि रखते हैं, तो आप निम्नलिखित पेपर में पूर्ण अध्ययन तैयार कर सकते हैं:

"फॉल्ट भविष्यवाणी के लिए ओपन सोर्स सॉफ्टवेयर पर ऑब्जेक्ट ओरिएंटेड मेट्रिक्स का अनुभवजन्य सत्यापन। सॉफ्टवेयर इंजीनियरिंग पर आईईईई लेनदेन में, वॉल्यूम 31, संख्या 10 , अक्टूबर 2005, पृष्ठ 897-910। "

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