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
Resources
Related projects
CSEF · 2005
The Digital Life: Evolution on a Computer
CSEF · 2015
Lingua: A Programming Language for the Uninitiated
CSEF · 2002
Professional Grading Program
CSEF · 2015
Combining Programming Languages to Improve Performance
CSEF · 2015
MathSuite: A Free and Innovative Android App that Makes Dreaded Calculation Fun! Published and Available on Google Play
CSEF · 2010
Compressed for Time: Examining File Compression in Computers
CSEF · 2003
The Need for Speed: Testing the Execution Speed of Today's Popular Computer Languages
CSEF · 2010
Turbo Charging Computer with Mathematical Algorithms
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects