SlideShare uma empresa Scribd logo
1 de 28
MISRA Compliance:2016
1. Introduction
• Use of a disciplined software development
process;
• Exactly which guidelines are being applied;
• The effectiveness of the enforcement
methods;
• The extent of any deviations from the
guidelines;
• The status of any software components
developed outside of the project.
2. Content
• 2.1The development contract
• 2.2 The software development process
– 1.The software requirements, including any safety or
security requirements, are complete, unambiguous
and correct;
– 2.The design specifications reaching the coding phase
are correct, consistent with the requirements and do
not contain any other functionality;
– 3.The object modules produced by the compiler
behave as specified in the corresponding designs;
– 4.The object modules have been tested, individually
and together, to identify and eliminate errors
3. Fundamental elements of compliance
• 3.1Guideline classification
– Rule
– Directive
• 3.2 Analysis scope
– Single Translation Unit
“Every switch statement shall have a default value”,
– System
• “An identifier with external linkage shall have exactly
one external definition”
• 3.3 The guideline enforcement plan(GEP)
– Compilers
– Tools
– Manual review
• 3.4 Investigating messages
– 1.Correct diagnosis of a violation
– 2.Diagnosis of a possible violation
– 3.False diagnosis of a violation
– 4.Diagnosis of a genuine issue that is not a violation
• 3.5 Decidability
– Decidable
– Undecidable
• Complying with undecidable rules
4 Deviations
• 4.1 The role of deviations
• 4.2 Deviation records
– 1. The guideline(s) being violated;
– 2. A concise description of the circumstances in which
a violation is acceptable;
– 3. The reason why the deviation is required (see
Section 4.4);
– 4. Background information to explain the context and
the language issues;
– 5. A set of requirements to include any risk assessment
procedures and precautions which must be observed.
• 4.3Deviation permits
– Focus greater control over the generation of any new
deviations;
– Reduce disruption during the development process;
– Reduce the effort associated with creating and
reviewing deviations.
– Category
• Public deviation permits, published by MISRA;
• Acquirer deviation permits, produced by an acquirer;
• Supplier deviation permits, produced by a supplier.
• 4.4 Justifying a deviation
– Simply to satisfy the convenience of the
developer;
– When a reasonable alternative coding strategy
would make the need for a violation unnecessary;
– Without considering the wider consequences of a
particular violation on other guidelines;
– Without the support of a suitable process;
– Without the consent of a designated technical
authority.
• Reason 1: Code quality
– Functional suitability: Functional completeness, Functional
correctness, Functional appropriateness
– Performance efficiency:
• Time behaviour,
• Resource utilization, Capacity
– Compatibility: Co-existence, Interoperability
– Usability : Appropriateness recognizability, Learnability,
Operability, User error protection,User interface aesthetics,
Accessibility
– Reliability: Maturity, Availability, Fault tolerance,
Recoverability
– Security: Confidentiality, Integrity, Non-repudiation,
Accountability, Authenticity
– Maintainability: Modularity, Reusability, Analysability,
Modifiability, Testability
– Portability: Adaptability, Installability, Replaceability
• Reason 2: Access to hardware
– implementation-defined behaviour
– encapsulated and isolated
• Reason 3: Adopted code integration
• Reason 4: Non-compliant adopted code
– different version of The Guidelines.
5 guideline re-categorization plan(GRP)
• Mandatory Guidelines — Guidelines for which
violation is never permitted;
• Required Guidelines — Guidelines which can
only be violated when supported by a deviation
defining a set of clear restrictions, requirements
and precautions;
• Advisory Guidelines — Recommendations to be
followed as far as is reasonably practical.
Violations are identified but are not required to be
supported by a deviation.
6 Adopted Code
• 6.1 The nature of adopted code
– The Standard Library — The library code and header files
specified by The Language Standard and provided with the
compiler;
– Device driver files — Code either included with the compiler or
supplied by a semiconductor manufacturer providing an
interface to device peripherals;
– Middleware — Operating systems, protocol stacks, development
tools, etc.;
– Third Party Libraries — Mathematical operation libraries,
graphical libraries, etc.;
– Automatically generated code — Code generated by modelling
tools, UML tools, etc.;
– Legacy code — Code developed for other projects or previous
versions of the current project.
• 6.2 System wide analysis scope
• 6.3 Adopted binary code
– Agree upon a common procedure and tools that each will
apply to their own source code;
– Supply each other with stub versions of source code to
permit cross-organizational checks to be made.
• 6.4 Adopted source code
– Required or Advisory guidelines re-categorized as
Mandatory are violated;
– Advisory guidelines re-categorized as Required are violated
and the use case is not covered by a deviation.
– GRP
• 1. Guidelines which must never be violated;
• 2.Guidelines which must not be violated without a formal
deviation.
• 6.5 Adopted header files
– Expansion violates MISRA C:2012 Rule 11.9
• 6.6 The Standard Library
– 1. Casting pointers to object types into pointers to
other object types;
– 2. Pointer arithmetic;
– 3. Embedding assembly language statements in C.
7 Claiming MISRA compliance
• 7.1 Staff competence
• 7.2 The management process
• 7.3 The guideline compliance summary
– 1. Compliant — There are no violations of the guideline
within the project;
– 2. Deviations — There are violations of the guideline
within the project which are all supported by deviations;
– 3. Violations — There are violations of the guideline within
the project which are not supported by deviations;
– 4. Disapplied — No checks have been made for compliance
with the guideline.
• 7.4 Project delivery
– 1 .The guideline enforcement plan and, if requested by
the acquirer:
• 1.1The documentation listed in Section 3.3, demonstrating how
compliance has been enforced;
• 1.2Documentary evidence proving which tool checks have
been performed;
• 1.3Documentary evidence of any violations identified.
– 2.The guideline compliance summary, declaring the level
of compliance which is being claimed;
– 3.Details of all approved deviation permits (if used);
• 4.Deviation records covering all violations of
guidelines re-categorized as Required;
8 References
[1]MISRA C, Guidelines for the use of the C language in critical systems, HORIBA MIRA
Limited.
[2]MISRA C++, Guidelines for the use of the C++ language in critical systems, HORIBA MIRA
Limited.
[3]ISO/IEC 9899, Programming languages - C, International Organization for Standardization.
[4]ISO/IEC 14882, Programming languages - C++, International Organization for
Standardization.
[5]ISO/IEC/IEEE 12207, Systems and software engineering - Software life cycle processes,
International Organization for Standardization.
[6]IEC 61508, Functional safety of electrical/electronic/programmable electronic safety-related
systems, International Electrotechnical Commission.
[7]ISO 26262, Road vehicles - Functional safety, International Organization for Standardization.
[9]EN 50128, Railway applications Communications, signalling and processing systems -
Software for railway control and protection, European Committee for Electrotechnical
Standardization.
[10]IEC 62304, Medical device software - Software life cycle processes, International
Electrotechnical Commission.
[8]DO-178/ED-12, Software Considerations in Airborne Systems and Equipment Certification,
RTCA/EUTOCAE, 2011
[11]ISO/IEC/IEEE 25010, Systems and software Quality Requirements and Evaluation
(SQuaRE) - System and software quality models, International Organization for Standardization.
Appendix A. Example deviation record
Appendix B. Example deviation permit
Rule
Appendix C. Glossary(italics are 2020only)
• Acquirer: Organization or person that enters into an agreement to acquire or
procure a product or service from a supplier.
• Adopted code: Code that has been developed outside the scope of the current
project which may or may not have been developed so as to comply with The
Guidelines applied to the project.
• Deviation: A violation which has been formally accepted and approved.
• Deviation permit: The specification of a use case and a set of requirements
which may be applied to justify a deviation.
• Deviation record: The documentation used to justify the presence of a violation.
• Directive: A guideline lacking a complete, unambiguous specification.
• Guideline: A directive or rule that defines a language restriction used to
implement part of The Guidelines.
• Guideline enforcement plan (GEP): A record of the methods used to provide
enforcement of each guideline.
• Guideline re-categorization plan (GRP): A policy agreed between the acquirer and
the supplier whereby the MISRA category assigned to each guideline within The
Guidelines is reviewed and in some cases superseded by a more stringent category.
• Guideline compliance summary (GCS):A record of the level of compliance
achieved by indicating where guidelines have been Disapplied, where violations
are present and where deviations have been introduced.
• The Guidelines: A generic term denoting one of the documents within the
MISRA Guidelines that is used to enforce a language subset.
• MISRA category: A classification (Mandatory, Required or Advisory) applied to
every guideline within The Guidelines that establishes the conditions under
which a violation may or may not be permitted.
• MISRA Guidelines: A collective name for all editions of MISRA C and MISRA C++
• Native code: Code that has been developed within the scope of the current project
which has been developed so as to comply with The Guidelines applied to the project.
• Revised category: The classification (Mandatory, Required, Advisory or
Disapplied) applied to every guideline within the guideline re-categorization
plan as a result of guideline re-categorization.
• Rule: A guideline having a complete, unambiguous specification.
• The Standard: A generic term denoting the ISO language standard referenced by a
MISRA coding guideline document.
• Supplier: Organization or person that enters into an agreement with the acquirer for
the supply of a product or service.
• Violation: Code which does not conform to the restrictions specified by a guideline.
MISRA compliant 2020
2. The software development process(The context)
2.1 The development contract( =)
2.2 Framework(the software development process)
2.3 Training
2.4 Style guide
2.5 Metrics
2.6 Tool management
2.6.1 Selecting the compiler
2.6.2 Selecting static analysis tools
2.6.3 Tool validation
2.6.4 Understanding and configuring the compiler
2.6.5 Understanding and configuring the static analysis tool
2.6.6 Run-time behavioun
8 References(Add 4 document and specify latest version)
Appendix A Process and tools checklist
Appendix D Glossary( add Misra guideline, rule)
• 2.3 Training(2020)
– The use of the chosen programming language for embedded applications;
– The use of the chosen programming language for high-integrity, safety-related or
security-related systems.
– compilers and static analysis tools
• 2.4 Style guide(2020)
– Code layout and use of indenting;
– Layout of braces “{ }” and block structures;
– Naming conventions;
– Use of comments;
– Inclusion of company name, copyright notice and other standard file header
information
– [14] C Style: Standards and Guidelines,
• 2.5Metrics(2020)
– [15]Fenton N.E. and Bieman J., Software Metrics: A Rigorous and Practical
Approach, 3rd Edition, ISBN 978-1-439838-22-8, CRC Press, 2014.
– [16]MISRA Report 5, Software Metrics, Motor Industry Research Association,
Nuneaton, February 1995.
– [17]MISRA Report 6, Verification and Validation, Motor Industry Research
Association, Nuneaton, February 1995.
• 2.6 Tool management
– 2.6.1Selecting the compiler
• Checking that the compiler developer follows a suitable software
development process;
• Reading reviews of the compiler and user experience reports;
• Reviewing the size of the user base and types of applications
developed using the compiler;
• Performing and documenting independent validation testing, e.g. by
using a conformance test suite or by compiling existing applications.
– 2.6.2 Selecting static analysis tools
• Detect all violations of The Guidelines;
• Produce no “false positives”, i.e. would only report genuine
violations and would not report non-violations or possible violations.
• 2.6.3 Tool validation
– Recording faults reported by the users;
– Notifying existing users of known faults;
– Correcting faults in future releases.
– Perform some form of documented validation testing;
– Assess the software development process of the tool
supplier;
– Review the performance of the tool to date.
• 2.6.4Understanding and configuring the compiler
– The conformance of the compiler against applicable
standards;
– The availability of language extensions;
– The availability of conditional language features;
– The resources, especially processing time and memory
space, required by the program;
– The likelihood that a defect in the compiler will be
exposed, such as might occur when complex highly-
optimizing code transformations are performed.
• 2.6.5Understanding and configuring the static analysis tool
– Which version(s) of the language are supported;
– How to configure the analyser to match the compiler’s
implementation-defined behaviour, e.g. sizes of the integer types;
– Which of The Guidelines the analyser is capable of checking
(Section 3.3);
– Whether it is possible to configure the analyser to handle any
language extensions that will be used;
– Whether it is possible to adjust the analyser’s behaviour in order to
achieve a different balance between analysis time and analysis
precision.
• 2.6.6 Run-time behaviour
– The execution environment provides sufficient resources,
especially processing time and stack space, for the program;
– Run-time errors, such as arithmetic overflow, are absent from areas
of the program: for example by virtue of code that checks the
ranges of inputs to a calculation.

Mais conteúdo relacionado

Mais procurados

MDG Agile for Medical Device Software
MDG Agile for Medical Device SoftwareMDG Agile for Medical Device Software
MDG Agile for Medical Device Software
Mike Attili
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective
Engineering Software Lab
 
01 software test engineering (manual testing)
01 software test engineering (manual testing)01 software test engineering (manual testing)
01 software test engineering (manual testing)
Siddireddy Balu
 
Testing documents
Testing documentsTesting documents
Testing documents
suhasreddy1
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_plan
TestingGeeks
 
Lisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_ResumeLisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_Resume
Lisa DiFazio
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by ravi
Ravindranath Tagore
 

Mais procurados (20)

Components of the sqa system
Components of the sqa system Components of the sqa system
Components of the sqa system
 
SQA Components
SQA ComponentsSQA Components
SQA Components
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Lect2 quality factor
Lect2 quality factorLect2 quality factor
Lect2 quality factor
 
MDG Agile for Medical Device Software
MDG Agile for Medical Device SoftwareMDG Agile for Medical Device Software
MDG Agile for Medical Device Software
 
Towards a Metamodel for a Requirements Engineering Process of Embedded Systems
Towards a Metamodel for a Requirements Engineering Process of Embedded SystemsTowards a Metamodel for a Requirements Engineering Process of Embedded Systems
Towards a Metamodel for a Requirements Engineering Process of Embedded Systems
 
Unit 2 unit testing
Unit 2   unit testingUnit 2   unit testing
Unit 2 unit testing
 
Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective   Code Coverage in Theory and in practice form the DO178B perspective
Code Coverage in Theory and in practice form the DO178B perspective
 
01 software test engineering (manual testing)
01 software test engineering (manual testing)01 software test engineering (manual testing)
01 software test engineering (manual testing)
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
07 Outsource To India Independent Testing
07 Outsource To India Independent Testing07 Outsource To India Independent Testing
07 Outsource To India Independent Testing
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Manual testing
Manual testingManual testing
Manual testing
 
Death by documentation - Medical Device Development Challenges
Death by documentation - Medical Device Development ChallengesDeath by documentation - Medical Device Development Challenges
Death by documentation - Medical Device Development Challenges
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_plan
 
Innovations and adaptations in agile testing
Innovations and adaptations in agile testingInnovations and adaptations in agile testing
Innovations and adaptations in agile testing
 
Lisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_ResumeLisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_Resume
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by ravi
 

Semelhante a Misracompliant20162020

Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
saurabhshertukde
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
Nesrine Shokry
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
ubaidullah75790
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 

Semelhante a Misracompliant20162020 (20)

Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Sdlc model
Sdlc modelSdlc model
Sdlc model
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Software devlopment security
Software devlopment securitySoftware devlopment security
Software devlopment security
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
Unit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptxUnit_5 and Unit 6.pptx
Unit_5 and Unit 6.pptx
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Mais de Kiyoshi Ogawa

Mais de Kiyoshi Ogawa (20)

High Quality Design with Hcd and hazop
High Quality Design with Hcd and hazopHigh Quality Design with Hcd and hazop
High Quality Design with Hcd and hazop
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddocker
 
Deep learningwithgithubanddocker
Deep learningwithgithubanddockerDeep learningwithgithubanddocker
Deep learningwithgithubanddocker
 
Nagoya2018
Nagoya2018Nagoya2018
Nagoya2018
 
Hazop tokyo201809
Hazop tokyo201809Hazop tokyo201809
Hazop tokyo201809
 
Who like C++ coding standard
Who like C++ coding standardWho like C++ coding standard
Who like C++ coding standard
 
Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30Who enjoy a coding standard? ver. 0.30
Who enjoy a coding standard? ver. 0.30
 
Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20Who enjoy a coding standard? ver. 0.20
Who enjoy a coding standard? ver. 0.20
 
Who enjoy a coding standard?
Who enjoy a coding standard?Who enjoy a coding standard?
Who enjoy a coding standard?
 
機械と標準
機械と標準機械と標準
機械と標準
 
TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)TOPPERS as an IoT OS(kernel)
TOPPERS as an IoT OS(kernel)
 
How can we resolve problems.
How can we resolve problems.How can we resolve problems.
How can we resolve problems.
 
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
 
Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)Hazop Safety and Security at Fukui 2017(2/2)
Hazop Safety and Security at Fukui 2017(2/2)
 
Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)Hazop Safety and Security at Fukui 2017(1/2)
Hazop Safety and Security at Fukui 2017(1/2)
 
Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)Hazop and triz by/of/for the children(3/3)
Hazop and triz by/of/for the children(3/3)
 
Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)Hazop and triz by/of/for the children(2/3)
Hazop and triz by/of/for the children(2/3)
 
Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)Hazop and triz by/of/for the children(1/3)
Hazop and triz by/of/for the children(1/3)
 
Raspberrypitraining20171027
Raspberrypitraining20171027Raspberrypitraining20171027
Raspberrypitraining20171027
 
STAMP/STPA and UML/HAZOP on the IoT and AI/Deep Learning
STAMP/STPA and UML/HAZOP on the IoT and AI/Deep Learning STAMP/STPA and UML/HAZOP on the IoT and AI/Deep Learning
STAMP/STPA and UML/HAZOP on the IoT and AI/Deep Learning
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Misracompliant20162020

  • 2. 1. Introduction • Use of a disciplined software development process; • Exactly which guidelines are being applied; • The effectiveness of the enforcement methods; • The extent of any deviations from the guidelines; • The status of any software components developed outside of the project.
  • 3. 2. Content • 2.1The development contract • 2.2 The software development process – 1.The software requirements, including any safety or security requirements, are complete, unambiguous and correct; – 2.The design specifications reaching the coding phase are correct, consistent with the requirements and do not contain any other functionality; – 3.The object modules produced by the compiler behave as specified in the corresponding designs; – 4.The object modules have been tested, individually and together, to identify and eliminate errors
  • 4. 3. Fundamental elements of compliance • 3.1Guideline classification – Rule – Directive • 3.2 Analysis scope – Single Translation Unit “Every switch statement shall have a default value”, – System • “An identifier with external linkage shall have exactly one external definition”
  • 5. • 3.3 The guideline enforcement plan(GEP) – Compilers – Tools – Manual review • 3.4 Investigating messages – 1.Correct diagnosis of a violation – 2.Diagnosis of a possible violation – 3.False diagnosis of a violation – 4.Diagnosis of a genuine issue that is not a violation
  • 6. • 3.5 Decidability – Decidable – Undecidable • Complying with undecidable rules
  • 7. 4 Deviations • 4.1 The role of deviations • 4.2 Deviation records – 1. The guideline(s) being violated; – 2. A concise description of the circumstances in which a violation is acceptable; – 3. The reason why the deviation is required (see Section 4.4); – 4. Background information to explain the context and the language issues; – 5. A set of requirements to include any risk assessment procedures and precautions which must be observed.
  • 8. • 4.3Deviation permits – Focus greater control over the generation of any new deviations; – Reduce disruption during the development process; – Reduce the effort associated with creating and reviewing deviations. – Category • Public deviation permits, published by MISRA; • Acquirer deviation permits, produced by an acquirer; • Supplier deviation permits, produced by a supplier.
  • 9. • 4.4 Justifying a deviation – Simply to satisfy the convenience of the developer; – When a reasonable alternative coding strategy would make the need for a violation unnecessary; – Without considering the wider consequences of a particular violation on other guidelines; – Without the support of a suitable process; – Without the consent of a designated technical authority.
  • 10. • Reason 1: Code quality – Functional suitability: Functional completeness, Functional correctness, Functional appropriateness – Performance efficiency: • Time behaviour, • Resource utilization, Capacity – Compatibility: Co-existence, Interoperability – Usability : Appropriateness recognizability, Learnability, Operability, User error protection,User interface aesthetics, Accessibility – Reliability: Maturity, Availability, Fault tolerance, Recoverability – Security: Confidentiality, Integrity, Non-repudiation, Accountability, Authenticity – Maintainability: Modularity, Reusability, Analysability, Modifiability, Testability – Portability: Adaptability, Installability, Replaceability
  • 11. • Reason 2: Access to hardware – implementation-defined behaviour – encapsulated and isolated • Reason 3: Adopted code integration • Reason 4: Non-compliant adopted code – different version of The Guidelines.
  • 12. 5 guideline re-categorization plan(GRP) • Mandatory Guidelines — Guidelines for which violation is never permitted; • Required Guidelines — Guidelines which can only be violated when supported by a deviation defining a set of clear restrictions, requirements and precautions; • Advisory Guidelines — Recommendations to be followed as far as is reasonably practical. Violations are identified but are not required to be supported by a deviation.
  • 13. 6 Adopted Code • 6.1 The nature of adopted code – The Standard Library — The library code and header files specified by The Language Standard and provided with the compiler; – Device driver files — Code either included with the compiler or supplied by a semiconductor manufacturer providing an interface to device peripherals; – Middleware — Operating systems, protocol stacks, development tools, etc.; – Third Party Libraries — Mathematical operation libraries, graphical libraries, etc.; – Automatically generated code — Code generated by modelling tools, UML tools, etc.; – Legacy code — Code developed for other projects or previous versions of the current project.
  • 14. • 6.2 System wide analysis scope • 6.3 Adopted binary code – Agree upon a common procedure and tools that each will apply to their own source code; – Supply each other with stub versions of source code to permit cross-organizational checks to be made. • 6.4 Adopted source code – Required or Advisory guidelines re-categorized as Mandatory are violated; – Advisory guidelines re-categorized as Required are violated and the use case is not covered by a deviation. – GRP • 1. Guidelines which must never be violated; • 2.Guidelines which must not be violated without a formal deviation.
  • 15. • 6.5 Adopted header files – Expansion violates MISRA C:2012 Rule 11.9 • 6.6 The Standard Library – 1. Casting pointers to object types into pointers to other object types; – 2. Pointer arithmetic; – 3. Embedding assembly language statements in C.
  • 16. 7 Claiming MISRA compliance • 7.1 Staff competence • 7.2 The management process • 7.3 The guideline compliance summary – 1. Compliant — There are no violations of the guideline within the project; – 2. Deviations — There are violations of the guideline within the project which are all supported by deviations; – 3. Violations — There are violations of the guideline within the project which are not supported by deviations; – 4. Disapplied — No checks have been made for compliance with the guideline.
  • 17. • 7.4 Project delivery – 1 .The guideline enforcement plan and, if requested by the acquirer: • 1.1The documentation listed in Section 3.3, demonstrating how compliance has been enforced; • 1.2Documentary evidence proving which tool checks have been performed; • 1.3Documentary evidence of any violations identified. – 2.The guideline compliance summary, declaring the level of compliance which is being claimed; – 3.Details of all approved deviation permits (if used); • 4.Deviation records covering all violations of guidelines re-categorized as Required;
  • 18. 8 References [1]MISRA C, Guidelines for the use of the C language in critical systems, HORIBA MIRA Limited. [2]MISRA C++, Guidelines for the use of the C++ language in critical systems, HORIBA MIRA Limited. [3]ISO/IEC 9899, Programming languages - C, International Organization for Standardization. [4]ISO/IEC 14882, Programming languages - C++, International Organization for Standardization. [5]ISO/IEC/IEEE 12207, Systems and software engineering - Software life cycle processes, International Organization for Standardization. [6]IEC 61508, Functional safety of electrical/electronic/programmable electronic safety-related systems, International Electrotechnical Commission. [7]ISO 26262, Road vehicles - Functional safety, International Organization for Standardization. [9]EN 50128, Railway applications Communications, signalling and processing systems - Software for railway control and protection, European Committee for Electrotechnical Standardization. [10]IEC 62304, Medical device software - Software life cycle processes, International Electrotechnical Commission. [8]DO-178/ED-12, Software Considerations in Airborne Systems and Equipment Certification, RTCA/EUTOCAE, 2011 [11]ISO/IEC/IEEE 25010, Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models, International Organization for Standardization.
  • 19. Appendix A. Example deviation record
  • 20. Appendix B. Example deviation permit Rule
  • 21. Appendix C. Glossary(italics are 2020only) • Acquirer: Organization or person that enters into an agreement to acquire or procure a product or service from a supplier. • Adopted code: Code that has been developed outside the scope of the current project which may or may not have been developed so as to comply with The Guidelines applied to the project. • Deviation: A violation which has been formally accepted and approved. • Deviation permit: The specification of a use case and a set of requirements which may be applied to justify a deviation. • Deviation record: The documentation used to justify the presence of a violation. • Directive: A guideline lacking a complete, unambiguous specification. • Guideline: A directive or rule that defines a language restriction used to implement part of The Guidelines. • Guideline enforcement plan (GEP): A record of the methods used to provide enforcement of each guideline. • Guideline re-categorization plan (GRP): A policy agreed between the acquirer and the supplier whereby the MISRA category assigned to each guideline within The Guidelines is reviewed and in some cases superseded by a more stringent category.
  • 22. • Guideline compliance summary (GCS):A record of the level of compliance achieved by indicating where guidelines have been Disapplied, where violations are present and where deviations have been introduced. • The Guidelines: A generic term denoting one of the documents within the MISRA Guidelines that is used to enforce a language subset. • MISRA category: A classification (Mandatory, Required or Advisory) applied to every guideline within The Guidelines that establishes the conditions under which a violation may or may not be permitted. • MISRA Guidelines: A collective name for all editions of MISRA C and MISRA C++ • Native code: Code that has been developed within the scope of the current project which has been developed so as to comply with The Guidelines applied to the project. • Revised category: The classification (Mandatory, Required, Advisory or Disapplied) applied to every guideline within the guideline re-categorization plan as a result of guideline re-categorization. • Rule: A guideline having a complete, unambiguous specification. • The Standard: A generic term denoting the ISO language standard referenced by a MISRA coding guideline document. • Supplier: Organization or person that enters into an agreement with the acquirer for the supply of a product or service. • Violation: Code which does not conform to the restrictions specified by a guideline.
  • 23. MISRA compliant 2020 2. The software development process(The context) 2.1 The development contract( =) 2.2 Framework(the software development process) 2.3 Training 2.4 Style guide 2.5 Metrics 2.6 Tool management 2.6.1 Selecting the compiler 2.6.2 Selecting static analysis tools 2.6.3 Tool validation 2.6.4 Understanding and configuring the compiler 2.6.5 Understanding and configuring the static analysis tool 2.6.6 Run-time behavioun 8 References(Add 4 document and specify latest version) Appendix A Process and tools checklist Appendix D Glossary( add Misra guideline, rule)
  • 24. • 2.3 Training(2020) – The use of the chosen programming language for embedded applications; – The use of the chosen programming language for high-integrity, safety-related or security-related systems. – compilers and static analysis tools • 2.4 Style guide(2020) – Code layout and use of indenting; – Layout of braces “{ }” and block structures; – Naming conventions; – Use of comments; – Inclusion of company name, copyright notice and other standard file header information – [14] C Style: Standards and Guidelines, • 2.5Metrics(2020) – [15]Fenton N.E. and Bieman J., Software Metrics: A Rigorous and Practical Approach, 3rd Edition, ISBN 978-1-439838-22-8, CRC Press, 2014. – [16]MISRA Report 5, Software Metrics, Motor Industry Research Association, Nuneaton, February 1995. – [17]MISRA Report 6, Verification and Validation, Motor Industry Research Association, Nuneaton, February 1995.
  • 25. • 2.6 Tool management – 2.6.1Selecting the compiler • Checking that the compiler developer follows a suitable software development process; • Reading reviews of the compiler and user experience reports; • Reviewing the size of the user base and types of applications developed using the compiler; • Performing and documenting independent validation testing, e.g. by using a conformance test suite or by compiling existing applications. – 2.6.2 Selecting static analysis tools • Detect all violations of The Guidelines; • Produce no “false positives”, i.e. would only report genuine violations and would not report non-violations or possible violations.
  • 26. • 2.6.3 Tool validation – Recording faults reported by the users; – Notifying existing users of known faults; – Correcting faults in future releases. – Perform some form of documented validation testing; – Assess the software development process of the tool supplier; – Review the performance of the tool to date.
  • 27. • 2.6.4Understanding and configuring the compiler – The conformance of the compiler against applicable standards; – The availability of language extensions; – The availability of conditional language features; – The resources, especially processing time and memory space, required by the program; – The likelihood that a defect in the compiler will be exposed, such as might occur when complex highly- optimizing code transformations are performed.
  • 28. • 2.6.5Understanding and configuring the static analysis tool – Which version(s) of the language are supported; – How to configure the analyser to match the compiler’s implementation-defined behaviour, e.g. sizes of the integer types; – Which of The Guidelines the analyser is capable of checking (Section 3.3); – Whether it is possible to configure the analyser to handle any language extensions that will be used; – Whether it is possible to adjust the analyser’s behaviour in order to achieve a different balance between analysis time and analysis precision. • 2.6.6 Run-time behaviour – The execution environment provides sufficient resources, especially processing time and stack space, for the program; – Run-time errors, such as arithmetic overflow, are absent from areas of the program: for example by virtue of code that checks the ranges of inputs to a calculation.