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

Discussion and meeting on static code analysis #409

Closed
mossmaurice opened this issue Dec 7, 2020 · 6 comments · Fixed by #758
Closed

Discussion and meeting on static code analysis #409

mossmaurice opened this issue Dec 7, 2020 · 6 comments · Fixed by #758
Assignees
Labels
QAC++ Related to Helix QAC++ from Perforce question Further information is requested
Milestone

Comments

@mossmaurice
Copy link
Contributor

mossmaurice commented Dec 7, 2020

Brief feature description

Several companies are working on Eclipse iceoryx nowadays. The maintainers chose QAC from Perforce to check the certain rulesets common in the automotive industry w.r.t. to the ISO26262. Beside local scans things like the CI integration or upload to the Perforce server never went live. Therefore, let's revive this topic :-)

Comes from #356

Detailed information

Proposed proceeding:

  1. Re-do assessment with all maintainers
  • Choose a single vendor or agree to a suppression syntax to be able to use different tools?
  1. Talk to the vendors
  2. Make decision
  3. Setup CI and infrastructure (tbd in a future issue, not here)

Pending list of criteria for the assessment (not complete yet):

  • Developer experience with the tool (prior knowledge)
  • Developer convenience (usability)
    • How easy to use is the tool for developers?
  • Suppression syntax
    • How does the suppression syntax look like?
    • Are there dependencies?
    • Common MISRA-C++:2020 suppression syntax supported?
  • Commercial agreement needed (affordability)?
  • Maintenance
  • Ability to export results
  • SLA and support
    • What happens if developers run in trouble?
    • How fast can the vendor react?
  • CI support
  • Coding rules support (extensibility, customizability)
    • Which coding rules are supported (e.g. AUTOSAR, MISRA, CERT)?
  • What is experience of developers with false positives (correctness)?
  • How long does a scan take with the iceoryx code base (efficiency)?
@mossmaurice mossmaurice added question Further information is requested QAC++ Related to Helix QAC++ from Perforce labels Dec 7, 2020
@mossmaurice mossmaurice self-assigned this Dec 7, 2020
@mossmaurice
Copy link
Contributor Author

mossmaurice commented Dec 15, 2020

@elfenpiff @elBoberido and myself had a call with Axivion today.

Major points:

  • Axivion did an analysis of iceoryx
    • No parsing errors
    • Analysis time is 15 minutes
  • Plugins for various IDEs available e.g. VSCode and Eclipse IDE
  • Webinterface/dashboard to display the scan results is available
  • Axivion can parse Lint and PRQA suppression syntax, that we are currently using

Next steps:

  • @mossmaurice tries out Axivion
  • Setup meeting with Axivion sales to clarify open source usage in January

@mossmaurice
Copy link
Contributor Author

Today I learned that MISRAC++:2020 will introduce a common suppression syntax, so that different SCA tools can be used.

@marthtz
Copy link
Contributor

marthtz commented Dec 18, 2020

  * Analysis time is 15 minutes

This seems rather long for a code base of < 10k line of code?

Is it possible to do a delta analysis or does the analysis always run over the whole project?

@mossmaurice mossmaurice added this to the Prio 1 milestone Jan 5, 2021
@mossmaurice
Copy link
Contributor Author

mossmaurice commented Jan 13, 2021

@budrus @dkroenke and myself had a call with Perforce today.

Major points:

  • In 2020 QAC scan was only done locally and not uploaded to Perforce dashboad
  • Perforce has two SCA tools
    • QAC is better for compliance (AUTOSAR/MISRA); however, it recently improved and finds defects Klocwork does not
    • Klocwork is better for defect analysis of C/C++
  • License is required for exploring detailed results (e.g. line numbers and path/sink information for defects).
  • SERIF will be put into both Klocwork and QAC to share data between tools (could be extended to Axivion?)

Next steps:

  • Get dashboard up and running, take up the thread of last year
  • Meetup in a month to review progress

@mossmaurice
Copy link
Contributor Author

mossmaurice commented Jan 15, 2021

@budrus @dkroenke and myself had a call with Axivion today.

  • Axivion is happy to support iceoryx on creating a CI setup
  • Limited number of contributors (e.g. Bosch, Apex.AI or externals) using Axivion through CI is fine
  • Report might be not made available as ~1k pages PDF in the pull requests report, but as markdown?
  • Docker + GitHub action shoulnd't be an issue

Next steps:

  • Meet again in a few weeks to plan the technical CI setup

jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
jpsamper2009 pushed a commit to ApexAI/iceoryx that referenced this issue Feb 2, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 8, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Feb 15, 2021
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Feb 15, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 15, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Mar 9, 2021
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Mar 9, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 19, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 23, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 23, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 23, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 23, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 27, 2021
Signed-off-by: Dietrich Kroenke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
dkroenke pushed a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Apr 28, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Apr 30, 2021
…n scan

Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit that referenced this issue May 4, 2021
@mossmaurice
Copy link
Contributor Author

Axivion scan went live yesterday on master branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QAC++ Related to Helix QAC++ from Perforce question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants