Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Empirical Studies on the Functional Complexity of Software in Large-Scale Software Systems

Published: 01 July 2011 Publication History

Abstract

Functional complexity is one of the most fundamental properties of software because almost all other software attributes and properties such as functional size, development effort, costs, quality, and project duration are highly dependent on it. The functional complexity of software is a macro-scope problem concerning the semantic properties of software and human cognitive complexity towards a given software system; while the computational complexity is a micro-scope problem concerning algorithmic analyses towards machine throughput and time/space efficiency. This paper presents an empirical study on the functional complexity of software known as cognitive complexity based on large-scale samples using a Software Cognitive Complexity Analysis Tool SCCAT. Empirical data are obtained with SCCAT on 7,531 programs and five formally specified software systems. The theoretical foundation of software functional complexity is introduced and the metric of software cognitive complexity is formally modeled. The functional complexities of a large-scale software system and the air traffic control systems ATCS are rigorously analyzed. A novel approach to represent software functional complexities and their distributions in software systems is developed. The nature of functional complexity of software in software engineering is rigorously explained. The relationship between the symbolic and functional complexities of software is quantitatively analyzed.

References

[1]
Albrecht, A. J. (1979, October). Measuring application development productivity. In Proceedings of the IBM Applications Development Joint SHARE/GUIDE Symposium (pp. 83-92).
[2]
Albrecht, A. J., & Gaffney, J. E. (1983). Software function, source lines of code, and development effort prediction: A software science validation. IEEE Transactions on Software Engineering, 9(6), 639-648.
[3]
Ball, M. O., Barnhart, C., Nemhauser, G., & Odoni, A. (2007). Air transportation: Irregular operations and control. In Barnhart, C., & Laporte, G. (Eds.), Handbook in operations research and management science (Vol. 14), pp. 1-73. Oxford, UK: Elsevier.
[4]
Basili, V. R. (1980). Qualitative software complexity models: A summary in tutorial on models and methods for software management and engineering. Los Alamitos, CA: IEEE Press.
[5]
Bass, L., Clements, P., & Kazman, R. (1998). Software architecture in practice. Reading, MA: Addison-Wesley.
[6]
Braun, E. L., & Gianoplus, A. S. (2009). A digital computer system for terminal-area air traffic control. IRE Transactions on Space Electronics and Telemetry, 5(2), 66-72.
[7]
Chiew, V., & Wang, Y. (2006, May 8-10). Design of a cognitive complexities measurement and analysis tool (CCMAT). In Proceedings of the 19th Canadian Conference on Electrical and Computer Engineering, Ottawa, ON, Canada.
[8]
de Neufville, R., & Odoni, A. (2003). Airport systems: Planning, design and management. New York, NY: McGraw-Hill.
[9]
Debelack, A. S., Dehn, J. D., Muchinsky, L. L., & Smith, D. M. (2010). Next generation air traffic control automation. IBM Systems Journal, 34(1), 63-77.
[10]
Fenton, N. E., & Pfleeger, S. L. (1997). Software metrics: A rigorous & practical approach. Boston, MA: PWS.
[11]
Fenton, N. E., & Pfleeger, S. L. (1998). Software metrics: A rigorous and practical approach (2nd ed.). Pacific Grove, CA: Brooks/Cole Wadsworth.
[12]
Gibbs, W. (1994). Software's chronic crisis. Scientific American, 86-95.
[13]
Guttag, J. V. (2002). Abstract data types, then and now. In Broy, M., & Denert, E. (Eds.), Software pioneers (pp. 443-452). Berlin, Germany: Springer-Verlag.
[14]
Halstead, M. H. (1977). Elements of software science. New York, NY: Elsevier North-Holland.
[15]
Hansman, R. J., & Odoni, A. (2009). Air traffic control. In Belobaba, P., Odoni, A., & Barnhart, C. (Eds.), The global airline industry. New York, NY: John Wiley & Sons.
[16]
Hartmanis, J. (1994). On computational complexity and the nature of computer science, 1994 Turing award lecture. Communications of the ACM, 37(10), 37-43.
[17]
Hartmanis, J., & Stearns, R. E. (1965). On the computational complexity of algorithms. Transactions of the AMS, 117, 258-306.
[18]
Kearney, J. K., Sedlmeyer, R. L., Thompson, W. B., Gray, M. A., & Adler, M. A. (1986). Software complexity measurement. Communications of the ACM, 29(11), 1044-1050.
[19]
Kontogiannis, T., & Malakis, S. (2009). A proactive approach to human error detection and identification in aviation and air traffic control. Safety Science, 47(5), 693-706.
[20]
Lewis, H. R., & Papadimitriou, C. H. (1998). Elements of the theory of computation (2nd ed.). Upper Saddle River, NJ: Prentice Hall.
[21]
Lipschutz, S., & Lipson, M. (1997). Schaum's outline of theories and problems of discrete mathematics (2nd ed.). New York, NY: McGraw-Hill.
[22]
McCabe, T. H. (1976). A complexity measure. IEEE Transactions on Software Engineering, 2(6), 308-320.
[23]
McDaniel, E., & Lawrence, C. (1990). Levels of cognitive complexity: An approach to the measurement of thinking (pp. 1-49). New York, NY: Springer.
[24]
McDermid, J. A. (Ed.). (1991). Software engineer's reference book. Oxford, UK: Butterworth-Heinemann.
[25]
Melton, A. (Ed.). (1996). Software measurement. International Thomson Computer Press.
[26]
Nolan, M. (1999). Fundamentals of air traffic control (3rd ed.). Pacific Grove, CA: Brooks/Cole Wadsworth.
[27]
Perry, T. S. (1997). In search of the future of air traffic control. IEEE Spectrum, 34(8), 18-35.
[28]
Peters, J. F., & Pedrycz, W. (2000). Software engineering: An engineering approach. New York, NY: John Wiley & Sons.
[29]
Ross, N. (1986). Air traffic control systems. In Bonsall, P., & Bell, M. (Eds.), Information technology applications in transport (pp. 165-189). Leiden, The Netherlands: VNU Science.
[30]
Sha, L., Rajkumar, R., & Lehoczky, J. P. (1990). Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers, 1175.
[31]
Shao, J., & Wang, Y. (2003). A new measure of software complexity based on cognitive weights. IEEE Canadian Journal of Electrical and Computer Engineering, 28(2), 69-74.
[32]
Smith, R. E. (1993). Psychology. Eagan, MN: West.
[33]
Tanenbaum, A. S. (1994). Distributed operating systems. Upper Saddle River, NJ: Prentice Hall.
[34]
Wang, Y. (2002a). The real-time process algebra (RTPA). Annals of Software Engineering: An International Journal, 14, 235-274.
[35]
Wang, Y. (2002b, August). Keynote: On cognitive informatics. In Proceedings of the First IEEE International Conference on Cognitive Informatics, Calgary, AB, Canada (pp. 34-42). Washington, DC: IEEE Computer Society.
[36]
Wang, Y. (2003a). On cognitive informatics. Brain and Mind: A Transdisciplinary Journal of Neuroscience and Neurophilosophy, 4(2), 151-167.
[37]
Wang, Y. (2003b, May). The measurement theory for software engineering. In Proceedings of the Canadian Conference on Electrical and Computer Engineering, Montreal, QC, Canada (pp. 1321-1324). Washington, DC: IEEE Computer Society.
[38]
Wang, Y. (2005, August). Keynote: Psychological experiments on the cognitive complexities of fundamental control structures of software systems. In Proceedings of the 4th IEEE International Conference on Cognitive Informatics (pp. 4-5). Washington, DC: IEEE Computer Society.
[39]
Wang, Y. (2006). On the informatics laws and deductive semantics of software. IEEE Transactions on Systems, Man and Cybernetics. Part C, Applications and Reviews, 36(2), 161-171.
[40]
Wang, Y. (2007a). Software engineering foundations: A transdisciplinary and rigorous perspective (CRC Book Series in Software Engineering, Vol. II). New York, NY: Auerbach.
[41]
Wang, Y. (2007b). The theoretical framework of cognitive informatics. International Journal of Cognitive Informatics and Natural Intelligence, 1(1), 1-27.
[42]
Wang, Y. (2008a). On contemporary denotational mathematics for computational intelligence. Transactions of Computational Science, 2, 6-29.
[43]
Wang, Y. (2008b). On the Big-R notation for describing iterative and recursive behaviors. International Journal of Cognitive Informatics and Natural Intelligence, 2(1), 17-28.
[44]
Wang, Y. (2008c). RTPA: A denotational mathematics for manipulating intelligent and computational behaviors. International Journal of Cognitive Informatics and Natural Intelligence, 2(2), 44-62.
[45]
Wang, Y. (2008d). Mathematical laws of software. Transactions of Computational Science, 2, 46-83.
[46]
Wang, Y. (2008e). Deductive semantics of RTPA. International Journal of Cognitive Informatics and Natural Intelligence, 2(2), 95-121.
[47]
Wang, Y. (2009). On the cognitive complexity of software and its quantification and formal measurement. International Journal of Software Science and Computational Intelligence, 1(2), 31-53.
[48]
Wang, Y. (2010). On formal and cognitive semantics for semantic computing. International Journal of Semantic Computing, 4(2), 203-237.
[49]
Wang, Y., & Chiew, V. (2010). On the cognitive process of human problem solving. Cognitive Systems Research, 11(1), 81-92.
[50]
Wang, Y., Ngolah, C. F., Zeng, G., Sheu, P. C.-Y., Choy, C. P., & Tian, Y. (2010). The formal design models of a real-time operating system (RTOS+): Conceptual and architectural frameworks. International Journal of Software Science and Computational Intelligence, 2(2), 105-122.
[51]
Wang, Y., Wang, Y., Patel, S., & Patel, D. (2006). A layered reference model of the brain (LRMB). {C}. IEEE Transactions on Systems, Man, and Cybernetics, 36(2), 124-133.
[52]
Wang, Y., Zeng, G., Ngolah, C. F., Sheu, P. C.-Y., Choy, C. P., & Tian, Y. (2010). The formal design models of a real-time operating system (RTOS+): Static and dynamic behavior models. International Journal of Software Science and Computational Intelligence, 2(3), 79-105.
[53]
Zuse, H. (1997). A framework of software measurement. Berlin, Germany: Walter de Gruyter.

Cited By

View all
  • (2014)Software Defect Prediction Based on GUHA Data Mining Procedure and Multi-Objective Pareto Efficient Rule SelectionInternational Journal of Software Science and Computational Intelligence10.4018/ijssci.20140401016:2(1-29)Online publication date: 1-Apr-2014

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image International Journal of Software Science and Computational Intelligence
International Journal of Software Science and Computational Intelligence  Volume 3, Issue 3
July 2011
89 pages
ISSN:1942-9045
EISSN:1942-9037
Issue’s Table of Contents

Publisher

IGI Global

United States

Publication History

Published: 01 July 2011

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Software Defect Prediction Based on GUHA Data Mining Procedure and Multi-Objective Pareto Efficient Rule SelectionInternational Journal of Software Science and Computational Intelligence10.4018/ijssci.20140401016:2(1-29)Online publication date: 1-Apr-2014

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media