Software Metrics: Calculation and Optimization of Thresholds

Authors

  • Abhishek Kumar Maheswari Faculty of Computer Science, Venkteshwara Group of Institutions, Meerut

DOI:

https://doi.org/10.26703/jct.v6i2.327

Keywords:

Optimization, Software Metrics

Abstract

In this article, we present a algorithmic method for the calculation of thresholds (the starting point for a new state) for a software metric set. To this aim, machine learning and data mining techniques are utilized. We define a data-driven methodology that can be used for efficiency optimization of existing metric sets, for the simplification of complex classification models, and for the calculation of thresholds for a metric set in an environment where no metric set yet exists. The methodology is independent of the metric set and therefore also independent of any language, paradigm or abstraction level. In four case studies performed on large-scale open-source software metric sets for C functions, C+ +, C# methods and Java classes are optimized and the methodology is validated.

Downloads

Download data is not yet available.

Metrics

Metrics Loading ...

References

Angluin D, Laird P (1988) Learning from noisy examples. Mach Learn 2(4):343–370. doi:10.1023/A:1022873112823

Basili V, Rombach H (1988) The TAME project: towards improvement-oriented software environments. IEEE Trans Softw Eng 14(6):758–773

Basili V, Weiss D (1984) A methodology for collecting valid software engineering data. IEEE Trans Softw Eng 10(6):728–738

Basili VR, Selby RW Jr (1985) Calculation and use of an environment’s characteristic software metric set. In: ICSE ’85: proceedings of the 8th international conference on Software engineering. IEEE Computer Society Press, Los Alamitos, CA, USA, pp 386–391

Basili VR, Briand LC, Melo WL (1996) A validation of object-oriented design metrics as quality indicators. IEEE Trans Softw Eng 22(10):751–761. doi:10.1109/32.544352

Benlarbi S, Emam KE, Goel N, Rai S (2000) Thresholds for object-oriented measures. In: ISSRE ’00: proceedings of the 11th international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, USA, p 24

Brodag T, Herbold S, Waack S (2010) A generalized model of pac learning and its applicability. Mach Learn (manuscript in revision)

Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Softw Eng 20(6):476–493. doi:10.1109/32.295895

Daly J, Brooks A, Miller J, Roper M, Wood M (1996) Evaluating inheritance depth on the maintainability of object-oriented software. Empir Softw Eng 1(2):109–132

Devroye L, Györfi L, Lugosi G (1997) A probabilistic theory of pattern recognition. Springer, New York

Duda R, Hart P (1973) Pattern classification and scene analysis ETSI (2007) ETSI Standard (ES) 201 873-1 V3.2.1 (2007-02): the testing and test control notation version 3; part 1: TTCN-3 core language. European Telecommunications Standards Institute (ETSI), Sophia-Antipolis, France, also published as ITU-T Recommendation Z.140

Fenton N, Pfleeger S (1997) Software metrics: a rigorous and practical approach. PWS Publishing Co. Boston, MA, USA.

French V (1999) Establishing software metric thresholds. In: International workshop on software measurement (IWSM99)

Grabowski J, Hogrefe D, Réthy G, Schieferdecker I, Wiles A, Willcock C (2003) An introduction to the testing and test control notation (ttcn-3). Comput Netw 42(3):375–403. doi:10.1016/S1389-1286(03)00249-4

Heitlager I, Kuipers T, Visser J (2007) A practical model for measuring maintainability. In: 6th international Conference on the Quality of information and communications technology, 2007. QUATIC 2007, pp 30–39. doi:10.1109/QUATIC.2007.8 IEEE (1990) Ieee glossary of software engineering terminology. ieee standard 610.12. Tech. rep., IEEE

ISO/IEC (2001–2004) ISO/IEC standard no. 9126: software engineering—product quality; parts 1–4. International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC), Geneva, Switzerland ISO/IEC (2005) ISO/IEC Standard No. 9000. International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC), Geneva, Switzerland

Kearns M (1998) Efficient noise-tolerant learning from statistical queries. J ACM 45(6):983–1006. doi:10.1145/293347.293351

Khoshgoftaar TM (2002) Improving usefulness of software quality classification models based on boolean discriminant functions. In: ISSRE ’02: proceedings of the 13th international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, USA, p 221

Kiczales G, Lamping J, Lopes C, Hugunin J, Hilsdale E, Boyapati C (2002) Aspect-oriented programming. US Patent 6,467,086

Lanza M, Marinescu R, Ducasse S (2005) Object-oriented metrics in practice. Springer-Verlag New York, Inc., Secaucus, NJ, USA

Lilliefors HW (1967) On the Kolmogorov–Smirnov test for normality with mean and variance unknown. J Am Stat Assoc 62(318):399–402. http://www.jstor.org/stable/2283970

Lorenz M, Kidd J (1994) Object-oriented software metrics: a practical guide. Prentice Hall PTR

MacKay DJ (2003) Information theory, inference, and learning algorithms. Cambridge University Press

Mammen E, Tsybakov AB (1999) Smooth discrimination analysis. Ann Stat 27(6):1808–1829

Matthews BW (1975) Comparison of the predicted and observed secondary structure of t4 phage lysozyme. Biochim Biophys Acta, Protein Struct 405(2):442–451. doi:10.1016/0005-2795(75)90109-9. URL:http://www.sciencedirect.com/science/article/B73GJ-47T22GD-132/2/b5b0dbd824d44e6edeebf7b8d2613775

Nagappan N, Ball T, Zeller A (2006) Mining metrics to predict component failures. In: ICSE ’06: proceedings of the 28th international conference on software engineering. ACM, New York, NY, USA, pp 452–461. doi:10.1145/1134285.1134349

Porter AA, Selby RW (1990) Empirically guided software development using metric-based classification trees. IEEE Softw 7(2):46–54. doi:10.1109/52.50773

Quinlan JR (1986) Induction of decision trees. Mach Learn 1:81–106. doi:10.1007/BF00116251

Rosqvist T, Koskela M, Harju H (2003) Software quality evaluation based on expert judgement. Softw Qual J 11:39–55. doi:10.1023/A:1023741528816

Schneidewind NF (1997) Software metrics model for integrating quality control and prediction. In: ISSRE ’97: proceedings of the eighth international symposium on software reliability engineering. IEEE Computer Society, Washington, DC, USA, p 402

Schneidewind NF (2000) Software quality control and prediction model for maintenance. Ann Softw Eng 9(1–4):79–101. doi:10.1023/A:1018920623712

Schölkopf B, Smola AJ (2002) Learning with kernels. MIT Press

Selby RW, Porter AA, Schmidt DC, Berney J (1991) Metric-driven analysis and feedback systems for enabling empirically guided software development. In: ICSE ’91: proceedings of the 13th international conference on software engineering. IEEE Computer Society Press, Los Alamitos, CA, USA, pp 288–298

Shawe-Taylor J, Cristianini N (2004) Kernel methods for pattern analysis. Cambridge University Press

Tsybakov AB (2004) Optimal aggregation of classifiers in statistical learning. Ann Stat 32(1):135–166

Werner E, Grabowski J, Neukirchen H, Rottger N, Waack S, Zeiss B (2007) TTCN-3 quality engineering: using learning techniques to evaluate metric sets. Lect Notes Comput Sci 4745:54

Additional Files

Published

01-11-2011

How to Cite

Maheswari, A. K. (2011). Software Metrics: Calculation and Optimization of Thresholds. Journal of Commerce and Trade, 6(2), 11–26. https://doi.org/10.26703/jct.v6i2.327

Issue

Section

Research Paper