1# sig_programanalysis 2 3English | [简体中文](./README.md) 4 5## SIG Group Work Objectives and Scope 6 7### Work Objectives 8 9* Sig_programanalysis aims to carry out program analysis technology exploration, key technology identification, and competitiveness building for OpenHarmony systems and apps, striving to become the gathering place for OpenHarmony system and app analysis capabilities and an incubation place for related engineering tools. 10 11* Sig_programanalysis will build a basic program analysis framework for OpenHarmony apps, and subsequently based on it to provide application developers with out-of-the-box defect scanning and analysis tools, making it possible to automatically vet code for scenarios such as IDE, CI/CD pipelines, etc. 12 13### Work Scope 14 15* Responsible for building and maintaining the key technology map of program analysis, as well as the decomposition of functional modules in the field, interface definition, and maintenance management. 16 17* Responsible for the architecture design, open source development, and project maintenance of projects related to program analysis. 18 19 20### Projects 21 22Sig_programanalysis currently incubates the following projects. Everyone is welcome to participate (you can apply to participate in the co-construction of existing projects, or you can apply to create a new program analysis project). 23 24 25* ArkAnalyzer: 26The Static Analysis Framework for ArkTS-based OpenHarmony Apps. 27 28* ArkCheck: 29Checking OpenHarmony Apps for Potential Code-level Defects 30 31 32## SIG Members 33 34 35### Leader 36 37- [lilicoding](https://gitee.com/lilicoding) 38 39 40### Committers 41- [kubigao](https://gitee.com/kubigao) 42- [yifei-xue](https://gitee.com/yifei_xue) 43- [kubrick-hjh](https://gitee.com/kubrick-hjh) 44- [speed9](https://gitee.com/speeds) 45- [bbsun](https://gitee.com/bbsun) 46- [chn](https://gitee.com/chn) 47- [Elouan](https://gitee.com/Elouan) 48- [Rnine](https://gitee.com/Rnine) 49- [workspace_cb](https://gitee.com/workspace_cb) 50- [longyuC](https://gitee.com/longyuC) 51- [xyji95](https://gitee.com/xyji95) 52- [xulingyun-red](https://gitee.com/xulingyun-red) 53 54 55### Meetings 56 - Meeting Time: Bi-weekly meeting, Thursday 19:30 Beijing time 57 - Meeting Application:[Link](https://shimo.im/forms/B1Awd60W7bU51g3m/fill) 58 - Meeting Link: Welink or Others 59 - Meeting Notification: [Subscribe to](https://lists.openatom.io/postorius/lists/dev.openharmony.io) mailing list dev@openharmony.io for the meeting link 60 - Meeting Summary: [Archive link address](https://gitee.com/openharmony-sig/sig-content) 61 62### Contact 63 64- Mailing list: [dev@openharmony.io](https://lists.openatom.io/postorius/lists/dev@openharmony.io/) 65 66*** 67# ArkAnalyzer: Static Program Analysis Framework for the ArkTS Language 68## Develope environment setup 691. [Download Visual Studio Code](https://code.visualstudio.com/download) or other IDEA; 702. [Download Node.js](https://nodejs.org/en/download/current) and install it. Node.js is a runtime environment for JavaScript, which comes with its own package manager, npm. 713. Install Typescript via npm: 72```shell 73npm install -g typescript 74``` 754. Install dependency libraries 76```shell 77cd arkanalyzer 78npm install 79``` 805. [Optional] Generate the latest API documentation, which will be created at docs/api_docs. 81```shell 82npm run gendoc 83``` 84 85## Docmentations 86 871. ArkAnalyzer API docmentations,refer to the [link](https://gitcode.com/openharmony-sig/arkanalyzer/wiki/globals.md). 88 89## Commit codes 90Follow the code repository standards of Openharmony-Sig, refer to the [link](docs/HowToCreatePR.md#english) 91 92## Debug 93Modify the `args` parameter array in the debug configuration file `.vscode/launch.json` to the path of the test file you want to debug, and then start the debugging process. 94 95## Add test cases 96Place all new test codes in the `tests` directory. Corresponding sample code and other resource files should be placed in the ``tests\resources` directory, and create different folders for each testing scenario.