Closed joaomas closed 3 weeks ago
@klclaudio Codee se chamava antes Parallelware, pesquisando o segundo tem bastante material.
https://upcommons.upc.edu/bitstream/handle/2117/340682/Arenaz_Martorell.pdf?sequence=3
https://www.hpcwire.com/off-the-wire/parallelware-analyzer-0-18-released/
https://www.openmp.org/wp-content/uploads/SC19-Arenaz-Parallelware.pdf
https://codee.com/wp-content/uploads/2020/10/4A-pwtools-nersc.pdf
https://www.youtube.com/watch?v=FknEDiX3aGI
https://www.nersc.gov/assets/Uploads/presentation-NERSC-NUG-Parallelware-March2021.pdf
https://codee.com/wp-content/uploads/dlm_uploads/2018/09/Parallelware-Trainer-User-Manual.pdf
https://www.openmp.org/wp-content/uploads/SC19-Arenaz-Parallelware.pdf
https://www.youtube.com/watch?v=KxEQR33qaK8
https://www.nersc.gov/assets/Uploads/Parallelware-Analyzer-quickstart-with-ATMUX.pdf
https://www.nersc.gov/assets/Uploads/2-Part1-Practical-PI.pdf
:people_holding_hands: User Story
COMO (...) QUEREMOS (...) PARA (...)
:clipboard: Critérios de aceite de conclusão da Issue
:pencil: Detalhamento adicional da atividade
-.
:comet: Impactos
-.
:link: Dependências
-.
:hammer_and_wrench: Solução
Introdução:
O Codee consiste em um software de análise estática de código. Analisando cada linha de código encontrando trechos de códigos, otimizando e modernizando o código analisado.
Link 1: https://www.codee.com/ Link 2: https://github.com/codee-com/ Link 3: https://www.codee.com/wp-content/uploads/2024/04/Codee-Product-Datasheet-Fortran-modernization.pdf
1. Detalhes de bug indentification "The modernization process helps find bugs and avoid introducing hidden bugs in code." - Nos parece que o bug identification tem o viés em HPC, necessário testar a ferramenta.
2. Detalhes de checagem de regras A ferramenta possui checagem de regras, baseada em boas práticas do Fortran Modernization.
https://github.com/codee-com/open-catalog/tree/main/Checks
"Many Ways to speed up your program" - https://www.codee.com/many-ways-to-speed-up-your-program/#CPU
3. Detalhes de test coverage "Measure code coverage metrics and discover lines with missing tests on every pull request."
4. Como pode ser usado (quais regras) na DTN01 Identificamos pelo menos uma regra da DTN01, o enfoque da ferramenta parece ser regras de HPC (laços, ifs, construções, etc.)
5. Testar um caso ""real"" de uso ou se encontrado na documentação não há necessidade do teste ""real"". Existe a opção de Live demo, talvez em uma próxima sprint.
6. Verificar existência de APIs Até o momento não foi encontrado.
7. Verificar dependências de biblioteca e SO's"
![Image](https://github.com/monanadmin/monan/assets/98035185/ef01c095-2702-4bc7-9eb3-7e5e14609664)
//
KEY FEATURES
● Static Analysis: Analyze every code line to find and fix code modernization and optimization opportunities and run sanitizers on your code. ● Code Coverage: Measure code coverage metrics and discover lines with missing tests on every pull request. ● Autofix: Automatically generate fixes for code modernization issues, always under the control of the programmer and preserving 100% code correctness. ● Reports: Get a deeper understanding of your organization's code health with powerful insights, modernization reports, and optimization reports. ● Self-hosting: Deploy on-prem on your private system within minutes, and retain full control of your source code and privacy. ● CI/CD automation: Enable automated testing on all CI systems, test every code change and pull-request to find code issues before merges and public releases. ● Technical Debt: Quantify the extent of code refactoring required to modernize your Fortran code. ● ROI: Quantify savings in development effort to modernize your code, and tailor the ROI estimation to your organization
Demos
:rotating_light: Problemas encontrados
-.
:white_check_mark: Conclusão
:spiral_calendar: Trabalhos Futuros
-.