Skip to content

Releases: cricamfe/c3ms

v1.2.0

14 Dec 10:15

Choose a tag to compare

CHANGELOG

  • Project Overhaul and Structuring:

    • Complete rearchitecture of the project, introducing a new directory setup (src, test, docs, etc.).
    • Added CMakeLists files to seamlessly support both RELEASE and DEBUG builds, optimizing the development and deployment workflow.
  • Lexicon Expansion:

    • Integration of modern programming paradigms and technologies, including C++, SYCL, oneTBB, AVX2, SIMD, etc.
    • This extension ensures that this tool remains effective in analysing modern code.
  • Function Processing Enhancement:

    • Advances in the tool's ability to autonomously process programmer-defined functions, going beyond standard API-derived functions.
    • These enhancements improve the detection and analysis of operators within the code.
  • CodeStatistics Component Refinement:

    • Strategic enhancement and relocation of the CodeStatistics implementation to codestatistics.hh and codestatistics.cc, ensuring more efficient operation.
  • Introduction of New Metrics:

    • Introduction of new metrics such as Cyclomatic Complexity, Maintainability Index, Time Required and Bugs Delivered.
    • These metrics are a good basis for understanding and improving code quality and maintainability.
  • Parsing Capabilities Enhancement:

    • Enhanced parsing functionality allows for a more detailed breakdown of files into functions, utilizing flags such as --function-metrics(-f), --file-metrics(-a), and --global-metrics(-g).
    • This feature offers users greater control and specificity in their analysis.
  • Presentation of Results:

    • A complete overhaul in the presentation of results, with colour-coded outputs and structured tabular formats, making data interpretation easier and more efficient.
  • Development of New Utility Files:

    • Introduction of CodeUtils and CodeMetrics for centralized metric calculations and utility functions, streamlining the tool’s efficiency.
  • Code Redistribution and Refactoring:

    • Redistribution of key functionalities from main.cpp into new support files.
    • General refactoring of the original code by Basilio B. Fraguela (2009-2010) to leverage new C++ features and integrate additional functions.
  • Modern Project Structure:

    • Upgrading Flex and Bison to the latest versions, based on the remusao template, which serves as an excellent starting point.
    • This critical update ensures the tool benefits from modern, efficient parsing and lexing capabilities.

v1.1.1

30 Nov 00:23

Choose a tag to compare

CHANGELOG

Three new options have been implemented in the c3ms tool to allow more detailed and specific analysis of code metrics:

  • -f, --function-metrics: This option allows users to analyze and report metrics specifically for each function in the provided files. It is useful for detailed analysis at the function level.
  • -a, --file-metrics: With this option, users can get metrics focused on each file individually. It facilitates file-level analysis and provides an overview of metrics for each file.
  • -g, --global-metrics: This option enables the analysis and reporting of metrics at a global level, to include all the provided files. It is crucial to obtain a holistic and global view of the project metrics.

These changes are designed to provide users with greater flexibility and detailed options for metric analysis, thereby improving the usefulness and applicability of the c3ms tool in various software development scenarios.

v1.1.0

29 Nov 17:57

Choose a tag to compare

CHANGELOG:

  • New project structure (bin, src, include, obj, etc.).
  • Updated Makefile (now we have RELEASE and DEBUG version)
  • New lexicon has been added (C++, SYCL, oneTBB, AVX2, SIMD, etc.).
  • Refactored CodeStatistics to use string_view and improve performance.
  • Added new metrics: Cyclomatic Complexity, Maintainability Index, Time Required and Bugs Submitted.
  • Files can be parsed by decomposing the file into functions using the "--function" or "-f" flag.
  • The representation of the results has been improved with colors and table format.
  • New files 'CodeUtils' and 'CodeMetrics', which contain a class with all metrics and help functions.
  • Moved functions from the 'c3ms.cpp' file to these support files.

In general, the Basilio B. Fraguela (2009-2010) code has been refactored and updated to use some of the new C++ features and add extra functionality.

Full Changelog: base...update-2023 #

c3ms v1.0.0 - Initial Release

27 Nov 23:56

Choose a tag to compare

Original code created in 2010 by Carlos H. González and Basilio B. Fraguela. This tool serves as a C++ Code Complexity Measurement System.