Software Complexity Measurement

CSEF · 2011 Mathematics & Software

Overview

Objectives/Goals To create a software application written in Java to measure any software program code#s complexity, that allows Software Developers and Software Managers to ensure that software code is simple, well documented and easy to understand by others. Methods/Materials Method: Application was developed using SDLC (Software Development Life Cycle) process. Complexity Measurements: This program defines comment complexity as: Comment Complexity = 10-(Number of Comments)/(Non trivial Code Lines) This program defines operator complexity as: Operator Complexity = (The maximum number of operators in a single statement)/2 This program defines loop nesting level complexity as: Nesting Complexity = The maximum number of loop nesting in any loop structure The overall complexity level is defined as: Average Complexity = (Comment Complexity + Operator Complexity + Nesting Complexity)/3 Materials: Computer (Dell E6410, Windows 7, Intel i5 M520 CPU, 4GB RAM 1333 mHz); Oracle Java (Version 1.6.0_23); Oracle Java JDK; NetBeans IDE (Version 6.9.1); Doxygen (Version 1.7.2); Graphviz (Version 2.26.3); MathJax (Version 2.0) Results After the project was completed some sample open source programs from sourceforge.net were downloaded and tested along with some self created test cases. The results provided accurate complexity measurements that could be useful to optimize software code. Conclusions/Discussion The project was completed successfully and with the desired results. Software Developers can now use this application and write minimally complex software code, saving thousands of dollars and hundreds of hours in maintenance for software companies.

Summary statement

This project created a new application that can measure software complexity based on defined complexity metric.

Help received

Guidance recieved from Dr. Sikkema; Feedback received engineers from Cisco, Abbott Labs, and Cognizant.

Competition history

  • CSEF 2011 Mathematics & Software · Entry S1416

Resources

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: California Science & Engineering Fair public projects

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google