Software Metrics: Calculation and Optimization of Thresholds
DOI:
https://doi.org/10.26703/jct.v6i2.327Keywords:
Optimization, Software MetricsAbstract
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
Metrics
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
How to Cite
Issue
Section
License
Copyright (c) 2011 Journal of Commerce and Trade
This work is licensed under a Creative Commons Attribution 4.0 International License.