{"id":16196399,"url":"https://github.com/dspinellis/cscout","last_synced_at":"2025-10-25T19:40:56.317Z","repository":{"id":44758180,"uuid":"49774035","full_name":"dspinellis/cscout","owner":"dspinellis","description":"C code refactoring browser","archived":false,"fork":false,"pushed_at":"2024-09-04T21:16:11.000Z","size":4269,"stargazers_count":197,"open_issues_count":18,"forks_count":35,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-10-11T08:47:30.358Z","etag":null,"topics":["c","c-preprocessor","call-graph","refactoring","static-analysis"],"latest_commit_sha":null,"homepage":"http://www.spinellis.gr/cscout","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dspinellis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-16T13:17:13.000Z","updated_at":"2024-10-10T05:55:57.000Z","dependencies_parsed_at":"2024-06-24T11:06:17.831Z","dependency_job_id":"d8feafbf-4709-40a4-a563-da921de6c0a3","html_url":"https://github.com/dspinellis/cscout","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dspinellis%2Fcscout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dspinellis%2Fcscout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dspinellis%2Fcscout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dspinellis%2Fcscout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dspinellis","download_url":"https://codeload.github.com/dspinellis/cscout/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640464,"owners_count":20971557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","c-preprocessor","call-graph","refactoring","static-analysis"],"created_at":"2024-10-10T08:47:31.165Z","updated_at":"2025-10-25T19:40:56.312Z","avatar_url":"https://github.com/dspinellis.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build and Test](https://github.com/dspinellis/cscout/actions/workflows/ci.yml/badge.svg)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/8463/badge.svg)](https://scan.coverity.com/projects/dspinellis-cscout)\n\n\nCScout is a source code analyzer and refactoring browser for collections\nof C programs.  It can process workspaces of multiple projects (a project\nis defined as a collection of C source files that are linked together)\nmapping the complexity introduced by the C preprocessor back into\nthe original C source code files.  CScout takes advantage of modern\nhardware (fast processors and large memory capacities) to analyze\nC source code beyond the level of detail and accuracy provided\nby  current compilers and linkers.  The analysis CScout performs takes\ninto account the identifier scopes introduced by the C preprocessor and\nthe C language proper scopes and namespaces.  CScout has already been\napplied on projects of tens of thousands of lines to millions of lines,\nlike the Linux, OpenSolaris, and FreeBSD kernels, and the Apache web\nserver.\n\nFor more details, examples, and documentation visit the project's\n[web site](http://www.spinellis.gr/cscout).\n\n## Building, Testing, Installing, Using\nCScout has been compiled and tested on GNU/Linux (Debian jessie),\nApple OS X (El Capitan), FreeBSD (11.0), and Cygwin. In order to\nbuild and use CScout you need a Unix (like) system\nwith a modern C++ compiler, GNU make, and Perl.\nTo test CScout you also need to be able to have SQLite installed.\nTo view CScout's diagrams you must have the\n[GraphViz](http://www.graphviz.org) dot command in\nyour executable file path.\n\n* To build run `make`. You can also use the `-j` make option to increase the build's speed.\n* To build and test, run `make test`.\n* To install (typically after building and testing), run `sudo make install`.\n* To see CScout in action run `make example`.\n\nUnder FreeBSD use `gmake` rather than `make`.\n\nTesting requires an installed version of _SQLite_.\n\n## Contributing\n* You can contribute to any of the [open issues](https://github.com/dspinellis/cscout/issues) or you can open a new one describing what you want to do.\n* For small-scale improvements and fixes simply submit a GitHub pull request.\nEach pull request should cover only a single feature or bug fix.\nThe changed code should follow the code style of the rest of the program.\nIf you're contributing a feature don't forget to update the documentation.\nIf you're submitting a bug fix, open a corresponding GitHub issue,\nand refer to the issue in your commit.\nAvoid gratuitous code changes.\nEnsure that the tests continue to pass after your change.\nIf you're fixing a bug or adding a feature related to the language, add a corresponding test case.\n* Before embarking on a large-scale contribution, please open a GitHub issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdspinellis%2Fcscout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdspinellis%2Fcscout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdspinellis%2Fcscout/lists"}