Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As developer, I should easily link any requirement identifier (e.g security, architecture, functional id) into software source code's documentation via annotation anywhere in code #153

Open
4 tasks done
olivierlemee opened this issue Nov 24, 2022 · 0 comments · Fixed by #211
Assignees
Labels
line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery priority:high High priority for treatment

Comments

@olivierlemee
Copy link
Collaborator

olivierlemee commented Nov 24, 2022

Goal & need: a link between an instruction, a method, a class or a rule implemented in a software source code should be linked to the cause that motivate is existence. For example, in a section of implemented rules of the software, a link to one or many REQ_XXXX, SEC_XXX, ARC_XXX requirements (e.g inventory of requirements manager in Notion) is mentioned in the source code via annotation like @why(requirement = { "REQ_XXX", "SEC_XXX", "ARC_XXX"}, threat = { "CVE_YYY", "CVE_ZZZ" }). The annotation should be visible in standard tool of language documentation (e.g javadoc, jsdoc).
A quality check (e.g convention, norm regarding level of documentation required) can be developed to control the level of documentation of source codes in terms of dependencies (for easy future maintenance) supporting future need of impact analysis based on requirements.

  • create annotation reusable and common library per language
  • create usage documentation in github documentation (sub-directory named "how-to" with readme.md, and sub-page named "coding-norms-and-conventions.md" including a model of description for each naming convention, and tagging norm) regarding the CYBNITY extended annotation library per language
  • add mention in PURPOSE about the difference between norm (mandatory to apply and which can be controlled via quality check process, generating reject of source code for violation of documentation norm) vs convention (optional, without mandatory quality check, and that can be transformed in norm after a period)
  • create test of the annotation (e.g on method, on instruction, into comments, on class, on parameter value where some links with requirements could exist) and check of visibility in standard generated documentation

FOR HELP
Java source code:

Javascript source code:

@olivierlemee olivierlemee self-assigned this Nov 24, 2022
@olivierlemee olivierlemee added priority:high High priority for treatment line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery labels Nov 24, 2022
@olivierlemee olivierlemee added this to the OS MVF V0 - Framework milestone Nov 24, 2022
@olivierlemee olivierlemee added priority:moderate Moderate priority for treatment and removed priority:high High priority for treatment labels Nov 24, 2022
@olivierlemee olivierlemee added priority:high High priority for treatment and removed priority:moderate Moderate priority for treatment labels Feb 2, 2023
@olivierlemee olivierlemee moved this from Backlog to Waiting for spec in Open Source Foundation Pipeline Feb 2, 2023
@olivierlemee olivierlemee moved this from Waiting for spec to Waiting for design in Open Source Foundation Pipeline Feb 2, 2023
@olivierlemee olivierlemee moved this from Waiting for design to Coding in Open Source Foundation Pipeline Feb 2, 2023
@olivierlemee olivierlemee moved this from Coding to Ready for UAT stage in Open Source Foundation Pipeline Feb 2, 2023
@olivierlemee olivierlemee linked a pull request Feb 2, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery priority:high High priority for treatment
Projects
Status: Ready for UAT stage
Development

Successfully merging a pull request may close this issue.

1 participant