Введем обозначения:
q M i (Сi) — количество унаследованных и не переопределенных методов в классе Сi;
q M 0(Сi) — количество унаследованных и переопределенных методов в классе Сi;
q M n(Сi) — количество новых (не унаследованных и переопределенных) методов в классе Сi;
q M d(Сi) = M n(Сi) + M 0(Сi) — количество методов, определенных в классе Сi;
q M a(Сi) = M d(Сi) + M i (Сi) — общее количество методов, доступных в классе Сi.
Тогда формула метрики MIF примет вид:
.
Числителем MIF является сумма унаследованных (и не переопределенных) методов во всех классах рассматриваемой системы. Знаменатель MIF — это общее количество доступных методов (локально определенных и унаследованных) для всех классов.
Значение MIF = 0 указывает, что в системе отсутствует эффективное наследование, например, все унаследованные методы переопределены.
С увеличением MIF уменьшаются плотность дефектов и затраты на исправление ошибок. Очень большие значения MIF (70-80%) приводят к обратному эффекту, но этот факт нуждается в дополнительной экспериментальной проверке. Сформулируем «осторожный» вывод: умеренное использование наследования — подходящее средство для снижения плотности дефектов и затрат на доработку.