Abstract:
The big evolution in software field leads to dramatic increase in the need for existence of high quality quantitative measurements to insure the quality of software artifacts. Software engineering researchers and practitioners have traditionally relied on metrics to quantify attributes of software products and processes. By considering software products in particular, we find that most existing tools are typically based on a syntactic analysis. At a time when software systems grow increasingly large and complex, the focus on diagnosing, identifying and removing every fault in the software product should progress to a more measured and realistic approach like fault tolerance. Semantic metrics are a good fit for this purpose, reflecting as they do the system’s ability to avoid failure rather than its proneness to being free of faults. This study introduces four semantic metrics based on entropy concept that consider software failure life cycle. Both empirical and analytical researches were used to validate the suggested metrics. An analytical model is proposed and used to predict failure probability by using semantic metrics in addition to other simple metrics. The results show how semantic metrics can be used as an indicator to software reliability.