เมื่อใดก็ตามที่ฉันได้ยินเสียงของความพยายามที่จะเชื่อมโยงชนิดของรหัสตามตัวชี้วัดที่มีความบกพร่องซอฟต์แวร์สิ่งแรกที่ผมคิดว่าเป็น McCabe บางซับซ้อน cyclomatic การศึกษาต่าง ๆ พบว่ามีความสัมพันธ์ระหว่างความซับซ้อนสูงและจำนวนข้อบกพร่อง อย่างไรก็ตามการศึกษาอื่น ๆ ที่ดูโมดูลที่มีขนาดใกล้เคียงกัน (ในแง่ของบรรทัดของรหัส) พบว่าอาจไม่มีความสัมพันธ์กัน
สำหรับฉันทั้งจำนวนบรรทัดในโมดูลและความซับซ้อนของวงจรอาจทำหน้าที่เป็นตัวบ่งชี้ที่ดีว่ามีข้อบกพร่องที่เป็นไปได้หรืออาจเป็นไปได้มากกว่าที่ข้อบกพร่องจะถูกฉีดถ้ามีการปรับเปลี่ยนโมดูล โมดูล (โดยเฉพาะอย่างยิ่งในชั้นเรียนหรือระดับวิธีการ) ที่มีความซับซ้อนสูงเป็นวัฏจักรยากที่จะเข้าใจเนื่องจากมีเส้นทางที่เป็นอิสระจำนวนมากผ่านรหัส โมดูล (อีกครั้งโดยเฉพาะอย่างยิ่งในระดับชั้นเรียนหรือวิธีการ) ที่มีเส้นจำนวนมากก็ยากที่จะเข้าใจเนื่องจากการเพิ่มจำนวนบรรทัดหมายถึงมีสิ่งต่าง ๆ เกิดขึ้นมากมาย มีเครื่องมือวิเคราะห์แบบสแตติกจำนวนมากที่สนับสนุนการคำนวณทั้งซอร์สโค้ดกับกฎที่ระบุและความซับซ้อนตามวัฏจักรดูเหมือนว่าการดักจับพวกมันจะถูกจับในผลไม้ที่แขวนต่ำ
สคีดมาตรการความซับซ้อนยังอาจจะน่าสนใจ น่าเสียดายที่ความถูกต้องของพวกเขาดูเหมือนจะถกเถียงกันค่อนข้างมากดังนั้นฉันจึงไม่จำเป็นต้องพึ่งพาพวกเขา หนึ่งในมาตรการของ Halstead คือการประเมินข้อบกพร่องตามความพยายามหรือปริมาณ (ความสัมพันธ์ระหว่างความยาวของโปรแกรมในแง่ของตัวดำเนินการทั้งหมดและตัวถูกดำเนินการและคำศัพท์โปรแกรมในแง่ของตัวดำเนินการและตัวดำเนินการที่แตกต่างกัน)
นอกจากนี้ยังมีกลุ่มของตัวชี้วัดที่รู้จักกันในชื่อตัวชี้วัด CK คำจำกัดความแรกของชุดเมทริกนี้ดูเหมือนจะอยู่ในกระดาษชื่อ A Metrics Suite สำหรับการออกแบบเชิงวัตถุโดย Chidamber และ Kemerer พวกเขากำหนดวิธีการถ่วงน้ำหนักต่อชั้นความลึกของต้นไม้มรดกจำนวนเด็กการมีเพศสัมพันธ์ระหว่างคลาสวัตถุการตอบสนองสำหรับชั้นเรียนและการขาดการทำงานร่วมกันในวิธีการ บทความของพวกเขาให้วิธีการคำนวณเช่นเดียวกับคำอธิบายของวิธีการวิเคราะห์แต่ละคน
ในแง่ของวรรณกรรมทางวิชาการที่วิเคราะห์ตัวชี้วัดเหล่านี้คุณอาจสนใจในการวิเคราะห์เชิงประจักษ์ของตัวชี้วัด CK สำหรับความซับซ้อนการออกแบบเชิงวัตถุ: ผลกระทบสำหรับข้อบกพร่องของซอฟต์แวร์เขียนโดย Ramanath Subramanyam และ MS Krishna พวกเขาวิเคราะห์ตัวชี้วัด CK สามในหกตัว (วิธีถ่วงน้ำหนักต่อคลาส, การมีเพศสัมพันธ์ระหว่างการจัดประเภทวัตถุและความลึกของต้นไม้มรดก) ดูเหมือนว่าพวกเขาพบว่าสิ่งเหล่านี้อาจเป็นตัวชี้วัดที่ถูกต้อง แต่ต้องตีความอย่างระมัดระวังด้วยการ "ปรับปรุง" อย่างใดอย่างหนึ่งอาจนำไปสู่การเปลี่ยนแปลงอื่น ๆ ที่นำไปสู่ความน่าจะเป็นข้อบกพร่องที่มากขึ้น
การวิเคราะห์เชิงประจักษ์ของตัวชี้วัดการออกแบบเชิงวัตถุสำหรับการทำนายความผิดปกติระดับสูงและต่ำที่ประพันธ์โดย Yuming Zhou และ Hareton Leung ยังตรวจสอบตัวชี้วัด CK อีกด้วย วิธีการของพวกเขาคือการพิจารณาว่าพวกเขาสามารถทำนายข้อบกพร่องตามตัวชี้วัดเหล่านี้ได้หรือไม่ พวกเขาพบว่าตัววัด CK จำนวนมากยกเว้นความลึกของต้นไม้มรดกและจำนวนลูก) มีระดับนัยสำคัญทางสถิติในการทำนายพื้นที่ซึ่งข้อบกพร่องอาจอยู่
หากคุณมีสมาชิก IEEE ฉันขอแนะนำให้ค้นหาในธุรกรรม IEEE บนวิศวกรรมซอฟต์แวร์เพื่อการตีพิมพ์ทางวิชาการและซอฟต์แวร์ IEEEเพิ่มเติมเพื่อรายงานและการใช้งานจริงเพิ่มเติม พลอากาศเอกนอกจากนี้ยังอาจจะมีสิ่งพิมพ์ที่เกี่ยวข้องในของพวกเขาห้องสมุดดิจิตอล