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

draft: Project-Based Learning in Software Modelling. #37

Open
Tracked by #36
aleeusgr opened this issue Jan 11, 2024 · 11 comments
Open
Tracked by #36

draft: Project-Based Learning in Software Modelling. #37

aleeusgr opened this issue Jan 11, 2024 · 11 comments

Comments

@aleeusgr
Copy link

aleeusgr commented Jan 11, 2024

PBL:

Project Based Learning (PBL) experience is a self-sovereign teaching method in which the self learns by actively engaging in real-world and personally meaningful projects.

Title: “A Step-by-Step Guide to Conducting Formal Verification of a Software Product”

dApp Certification on Cardano PBL plan

@aleeusgr
Copy link
Author

aleeusgr commented Jan 11, 2024

Documentation review

Cardano Engineering Handbook

Audit/evaluation process is described: https://www.commoncriteriaportal.org/cc/index.cfm

https://github.com/cardano-foundation/CIPs

CIP-52 describes the audit process in general.
CIP-96 describes the way to store and present certification information to all stakeholders.
CIP-72 describes a standardised method for dApp developers to register their dApp(s) on-chain and for users to verify the claims made by dApp developers.

https://en.wikipedia.org/wiki/Requirements_analysis

https://iohk.io/en/blog/posts/2021/09/22/bringing-certified-dapps-to-cardano/
https://iohk.io/en/research/library/papers/translation-certification-for-smart-contracts-extended-abstract/

@aleeusgr

This comment was marked as resolved.

@aleeusgr

This comment was marked as resolved.

@aleeusgr aleeusgr changed the title Describe the evaluation process docs: Project Managers guide to Certification Jan 11, 2024
@aleeusgr aleeusgr changed the title docs: Project Managers guide to Certification Project Managers guide to Certification Jan 11, 2024
@aleeusgr aleeusgr changed the title Project Managers guide to Certification draft: add a section about Certification to Cardano Engineering Handbook Jan 13, 2024
@aleeusgr aleeusgr changed the title draft: add a section about Certification to Cardano Engineering Handbook draft: an article on Certification Jan 13, 2024
@aleeusgr

This comment was marked as outdated.

@aleeusgr

This comment was marked as outdated.

@aleeusgr

This comment was marked as outdated.

@aleeusgr aleeusgr changed the title draft: an article on Certification draft: documentation Jan 16, 2024
@aleeusgr

This comment was marked as outdated.

@aleeusgr aleeusgr changed the title draft: documentation draft: how to complete the practical example Jan 16, 2024
@aleeusgr

This comment was marked as resolved.

@aleeusgr aleeusgr changed the title draft: how to complete the practical example draft: Project-Based Learning in Software Modelling and Verification. Jan 17, 2024
@aleeusgr
Copy link
Author

aleeusgr commented Jan 17, 2024

a chunk:

As Cardano Builders our primary responsibility is to ensure that our users' data, transactions, and digital assets are secure. We emphasize the importance of risk management and security measures to protect the assets from potential threats such as theft, fraud, or unauthorized access. To reduce such risks controls must be imposed on the software artifacts we produce as well as on the process by which we produce these artifacts.

Audit is one such control. An audit is a comprehensive investigation of a DApp that provides an in-depth analysis on bugs, vulnerabilities, code quality and correctness of implementation.
The process of audit on Cardano is described in CIP-52, with additional information available through CIP-72, CIP-96 and articles published on IOHK.io. CIP-52 recommends that a developer should contact an auditor when they have a final working version of a DApp or fragment of a DApp that they want to have audited. It is also recommended to reach out to the potential auditor as early as possible so as to mitigate any design issues which may be very hard if not impossible to fix.

Audit process on Cardano is modeled after the Common Criteria. Common Criteria (CC) is an international standard for computer security certification, developed to ensure that products and systems meet a pre-defined security standard for government deployments. It is a framework in which computer system users can specify their security functional requirements (SFRs) and security functional assurance requirements (SARs) using Protection Profiles (PPs). CC certification is given to security products that have successfully passed the testing and Common Criteria evaluation performed by an accredited Testing Laboratory.

@aleeusgr aleeusgr changed the title draft: Project-Based Learning in Software Modelling and Verification. draft: Project-Based Learning in Software Modelling. Jan 22, 2024
@aleeusgr
Copy link
Author

aleeusgr commented Feb 7, 2024

Review in 2025

@aleeusgr aleeusgr closed this as completed Feb 7, 2024
@aleeusgr aleeusgr reopened this Feb 24, 2024
@aleeusgr
Copy link
Author

The top-level design goals were as follows:

Soundness. Verification results should be sound—that is, trustworthy for all compilers and target machines.
Sufficient completeness. Verification of non-trivial properties should offer a tolerably low false-alarm rate.
Formality. The language should be amenable to the development of an unambiguous formal definition.
Scalability. Verification should scale to industrial code bases in reasonable time.
Modularity. Verification of incomplete programs should be possible during their development.
Expressiveness. The language should be usable for building embedded, real-time, and critical software systems, not limited to "toy" examples. The verification system should allow the specification of non-trivial correctness properties, not just a list of "common errors."

https://m-cacm.acm.org/magazines/2024/3/280078-co-developing-programs-and-their-proof-of-correctness/fulltext

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant