7,194 research outputs found
MISRA C, for Security's Sake!
A third of United States new cellular subscriptions in Q1 2016 were for cars.
There are now more than 112 million vehicles connected around the world. The
percentage of new cars shipped with Internet connectivity is expected to rise
from 13% in 2015 to 75% in 2020, and 98% of all vehicles will likely be
connected by 2025. Moreover, the news continuously report about "white hat"
hackers intruding on car software. For these reasons, security concerns in
automotive and other industries have skyrocketed. MISRA C, which is widely
respected as a safety-related coding standard, is equally applicable as a
security-related coding standard. In this presentation, we will show that
security-critical and safety-critical software have the same requirements. We
will then introduce the new documents MISRA C:2012 Amendment 1 (Additional
security guidelines for MISRA C:2012) and MISRA C:2012 Addendum 2 (Coverage of
MISRA C:2012 against ISO/IEC TS 17961:2013 "C Secure Coding Rules"). We will
illustrate the relationship between MISRA C, CERT C and ISO/IEC TS 17961, with
a particular focus on the objective of preventing security vulnerabilities (and
of course safety hazards) as opposed to trying to eradicate them once they have
been inserted in the code
A Rationale-Based Classification of MISRA C Guidelines
MISRA C is the most authoritative language subset for the C programming language that is a de facto standard in several industry sectors where safety and security are of paramount importance. While MISRA C is currently encoded in 175 guidelines (coding rules and directives), it does not coincide with them: proper adoption of MISRA C requires embracing its preventive approach (as opposed to the "bug finding" approach) and a documented development process where justifiable non-compliances are authorized and recorded as deviations. MISRA C guidelines are classified along several axes in the official MISRA documents. In this paper, we add to these an orthogonal classification that associates guidelines with their main rationale. The advantages of this new classification are illustrated for different kinds of projects, including those not (yet) having MISRA compliance among their objectives
Study: MISRA C coding guidelines
This repository contains the material and obtained data of an eye tracking study on the topic "MISRA C coding guidelines".
For more information, please feel free to contact
A Weighted Grid for Measuring Program Robustness
Robustness is a key issue for all the programs, especially safety critical ones. In the literature, Program Robustness is defined as “the degree to which a system or component can function correctly in the presence of invalid input or stressful environment” (IEEE 1990). Robustness measurement is the value that reflects the Robustness Degree of the program.
In this thesis, a new Robustness measurement technique; the Robustness Grid, is introduced. The Robustness Grid measures the Robustness Degree for programs, C programs in this instance, using a relative scale. It allows programmers to find the program’s vulnerable points, repair them, and avoid similar mistakes in the future.
The Robustness Grid is a table that contains Language rules, which is classified into categories with respect to the program’s function names, and calculates the robustness degree. The Motor Industry Software Reliability Association (MISRA) C language rules with the Clause Program Slicing technique will be the basis for the robustness measurement mechanism.
In the Robustness Grid, for every MISRA rule, a score will be given to a function every time it satisfies or violates a rule. Furthermore, Clause program slicing will be used to weight every MISRA rule to illustrate its importance in the program. The Robustness Grid shows how much each part of the program is robust and effective, and assists developers to measure and evaluate the robustness degree for each part of a program.
Overall, the Robustness Grid is a new technique that measures the robustness of C programs using MISRA C rules and Clause program slicing. The Robustness Grid shows the program robustness degree and the importance of each part of the program. An evaluation of the Robustness Grid is performed to show that it offers new measurements that were not provided before
BARR-C:2018 and MISRA C:2012: Synergy Between the Two Most Widely Used C Coding Standards
The Barr Group’s Embedded C Coding Standard (BARR-C:2018, which originates from the 2009 Netrino’s Embedded C Coding Standard) is, for coding standards used by the embedded system industry, second only in popularity to MISRA C. However, the choice between MISRA C:2012 and BARR-C:2018 needs not be a hard decision since they are complementary in two quite different ways. On the one hand, BARR-C:2018 has removed all the incompatibilities with respect to MISRA C:2012 that were present in the previous edition (BARR-C:2013). As a result, disregarding programming style, BARR-C:2018 defines a subset of C that, while preventing a significant number of programming errors, is larger than the one defined by MISRA C:2012. On the other hand, concerning programming style, whereas MISRA C leaves this to individual organizations, BARR-C:2018 defines a programming style aimed primarily at minimizing programming errors. As a result, BARR-C:2018 can be seen as a first, dramatically useful step to C language subsetting that is suitable for all kinds of projects; critical projects can then evolve toward MISRA C:2012 compliance smoothly while maintaining the BARR-C programming style. In this paper, we introduce BARR-C:2018, we describe its relationship with MISRA C:2012, and we discuss the parallel and serial adoption of the two coding standards
BARR-C:2018 and MISRA C:2012 (with Amendment 2): Synergy Between the Two Most Widely Used C Coding Standards
The Barr Group's Embedded C Coding Standard (BARR-C:2018, which originates from the 2009 Netrino's Embedded C Coding Standard) is, for coding standards used by the embedded system industry, second only in popularity to MISRA C. However, the choice between MISRA C:2012 and BARR-C:2018 needs not be a hard decision since they are complementary in two quite different ways. On the one hand, BARR-C:2018 has removed all the incompatibilities with respect to MISRA C:2012 that were present in the previous edition (BARR-C:2013). As a result, disregarding programming style, BARR-C:2018 defines a subset of C that, while preventing a significant number of programming errors, is larger than the one defined by MISRA C:2012. On the other hand, concerning programming style, whereas MISRA C leaves this to individual organizations, BARR-C:2018 defines a programming style aimed primarily at minimizing programming errors. As a result, BARR-C:2018 can be seen as a first, dramatically useful step to C language subsetting that is suitable for all kinds of projects; critical projects can then evolve toward MISRA C:2012 compliance smoothly while maintaining the BARR-C programming style. In this paper, we introduce BARR-C:2018, we describe its relationship with MISRA C:2012, and we discuss the parallel and serial adoption of the two coding standards
Abelmoschus odishae R. C. Misra 2023, sp. nov.
<i>Abelmoschus odishae</i> R.C. Misra <i>sp. nov.</i> (Figs. 1–3) <p> Type:— INDIA, Odisha: Keonjhar district, Bansapal block, Kanjipani forest area, nearby village: Talapada, Gram panchyat: Kuanra; elevation 531 m, 21 o 29’ 21.66” N 85 o 30’ 16.68” E, 24 th December 2019, <i>R.C. Misra HS No.</i> 1566– 1568 (Holotype NHCP; isotype CAL).</p> <p>Local name: ‘Badabanabhendi’ (Odia)</p> <p> <b>Diagnosis:—</b> The taxon broadly resembles <i>A. palianus</i> in possessing non-coherent, persistent epicalyx segments, hairy capsules and wooly nature of seeds. However, the striking differences of this taxon which differs from others, being a perennial large shrub having densely hispid prickly stem with long retrorse hairs; larger leaves, densely hirsute spinescent pedicel; persistent, lanceolate, non-coherent of extreme length (3–4 cm), 8 (7–9) epicalyx segments; ovoid to oblong, 6.0– 7.5cm long, densely hispid, bristly, apically beaked capsule; sub-reniform seeds with very short, non-spiral, stiff trichomes in discontinuous concentric rings were noticeable characters of the species.</p> <p> <b>Description:—</b> Perennial, erect, branched, densely hirsute large shrub, up to 5 m high. Stem woody, not fistular, terete, ca. 3 cm diam., greenish-brown; branches densely hispid with prickly, stiff bristles; hairs 4–5 mm long, retrorse; purple tinged at one side of node around leaf-base, not extending to inter-node. Leaves orbicular, cordate at base; interveins of dorsal surface covered with simple hairs and ventral surface covered with bi- and tri-brachiate hairs; lamina angular, palmilobed or palmatisect, margin irregularly serrate to dentate; lower leaves 5-angled or 5–7 lobed, 20–38 cm across; upper leaves palmatifid, 3–5 partite, incised, 5–15 cm across; densely hirtus with stiff appressed white hairs on both the surfaces, 5–7(9) nerved, nerves coinciding with lobes; lobes ovate to lanceolate, acuminate at apex; petiole hairy, sub-terete, striated or grooved and purple above (when mature), up to 37 cm in basal leaves, reduces distally. Stipules two, on both sides of petiole, variable, one often bi-fid, linear to narrowly lanceolate, glandular pubescent, green, persistent. Flowers solitary, axillary, forming terminal raceme by reduction of upper leaves, yellow with dark purple centre, drooping; pedicel stout, up to 2.5 cm in flower (reaches 4 cm in fruit), densely hispid, sparsely spinescent; hairs white, shining, stiff on ripe. Epicalyx segments 8 (7–9); non-coherent, green when young, lanceolate, sub-equal, foliaceous, enclosing flower bud, hirsute, acuminate, 3–4 × 0.6–1 cm, with three indistinct lines from base to apex, densely appressed hairy outside, accrescent in capsule. Calyx spathaceous, membranous, 3–3.5 × 3.5–4 cm, greenish, appressed hairy both sides, splitting one side during expansion of corolla, apex acute, 3–5 toothed, margin uniform, sericeus, adnate to and falling off with corolla. Corolla campanulate, spreading, 12–15 cm in diam.; lobes 5, obovate, 7.0–8.0 × 6.5–8.5 cm, bright yellow with dark purple blotches at base, glabrous both sides, reticulately veined. Staminal column ca. 2 × 0.5 cm, antheriferous throughout; anthers pale yellow, pollen powdery. Carpel dark purple, style ca. 1.8 cm, stigma 5-fid at apex, ca. 5 mm in diam., puberulent. Capsule ovoid to oblong, 5-costate, 6–7.5 × 3–3.5 cm, densely hispidulus throughout, apex acute (when young), acuminate, beaked (when ripen), rostrum 3–5 mm; hairs white, shining when young, stiff, spinescent when ripe, 3 mm long, spreading all over outside; grayish black when dry, dehiscing apically, densely hispid with simple hairs on costae, sparsely so in between. Epicalyx segments accrescent, densely hairy; brownish-black when dry, reflexed outwards and withering. Seeds sub-reniform, dark brown-black, puberulous, ca. 3.5 × 3 mm, odourless; trichomes short, stout, non-spiral, flattened, persistent, in discontinuous concentric rings towards periphery, sparsely towards hilum; hilum ca. 1.6 × 0.8 mm, spathulate to lingulate.</p> <p> <b>Phenology:—</b> November to January.</p> <p> <b>Distribution and habitat:—</b> <i>Abelmoschus odishae</i> is distributed in Kanjipani forest, Bansapal block in Keonjhar district of Odisha in the Mahanadian biogeographic region of tropical Eastern India. The species is a component of moist deciduous forest and was found wild in a small population of 8–10 plants on the foot hill in the forest periphery among the hedges and other deciduous elements. The species has good compatibility with woody and herbaceous associates like <i>Celastrus paniculatus</i> Willdenow (1798:1125), <i>Mimosa rubicaulis</i> subsp. <i>himalayana</i> (Gamble) Ohashi (1979:126), <i>Ziziphus xylopyrus</i> (Retzius) Willdenow (1798:1104), <i>Flacourtia jangomas</i> (Loureiro) Raeuschel (1797:290), <i>Lantana camara</i> subsp. <i>aculeata</i> (Linnaeus) Sanders (2006:394), <i>Vicoa cernua</i> Dalzell & Gibson (1861:126), <i>Ipomoea sagittifolia</i> Burmanni. f. (1768:50), <i>Pergularia daemia</i> (Forsskal) Chiovenda (1916:115) etc.</p> <p> <b>Scanning Electron Microscopy of seeds</b></p> <p> Studies on seed micro-morphology of some taxa of <i>Abelmoschus</i> using scanning electron microscope were reported by Sivarajan and Pradeep (1996: 44), Patil <i>et al.</i> (2015: 696) and Misra <i>et al.</i> (2018:993). It is observed that the SEM images exhibiting the micro-morphological characters of seeds of the new species show affinities with a specific group of taxa comprising <i>Abelmoschus palianus</i>, <i>A. manihot</i> var. <i>pungens</i> and four wild varieties of <i>A. angulosus</i> having similarities in seed colour (brown to dark brown), persistent trichomes with bulbous base, thick walled epidermal cells and reticulate testa pattern (Patil <i>et al.</i> 2015b). Moreover, the significant attributes like seed shape, surface texture, nature of trichomes, epidermal cells and hilum shape were taken into account and compared with these taxa to assess the variation pattern and further to evaluate the taxonomic significance of the new species (Table 2).</p> <p> The micrographs of seeds of the new species revealed that the seeds are sub-reniform and possess minute hairs (Fig.4). The trichomes are unicellular, non-spiral, erect, stout, persistent, stiff, more or less spear-shaped, aligned in discontinuous rows/rings towards testa and random near hilum; base wide, bulbous with uneven ridges; body flattened, not deflected from base, apex acute; length ranges from 32.5–60 µm and basal width from 10.5–15 µm; hilum 1.6 × 0.8 mm, spathulate to lingulate. The epidermal cells are conspicuous, forming a distinct regular reticulum, pentahexagonal, thick-walled with not uniform thickened boundaries and false septa protruding inwardly, cell surface undulate with thin striations, cell size varied from 21–30 µm in length and 20–24 µm. in width. A new species, when compared with <i>A. palianus</i>, shows the seeds with puberulent texture; short, non-spiral, straight, stout, flattened and non-deflected trichomes; pentagonal-hexagonal epidermal cells, flat and raised cell wall with false septa inside, and spathulate to ligulate hilum. Whereas, the seeds of <i>A. palianus</i> exhibit pubescent texture; elongated, slender, spiral, thin, and deflected trichomes; tetra-pentagonal epidermal cells and slightly concave cell wall with rounded hilum (Patil <i>et al.</i> 2015b).</p> <p> <b>Germplasm information:—</b> Source: wild, collection site: moist deciduous forest, forest margin, undulating upland open habitat; topography: mountainous, foot hill, partly disturbed; soil type: loamy, brown; seed germplasm accession no: IC 0636463; sampling method: selective (non- random) from individual plants; occurrence: very rare; types of materials: i) seeds from matured live plants ii) herbarium specimens. The plant growth was very good to excellent up to 5 m height. The plants were well-propagated from seeds and exhibited profuse flowering and fruiting.</p> <p> <b>Etymology:—</b> The specific epithet <i>odishae</i> refers to the state “ Odisha ” in India from where the type specimen was originally collected.</p> <p> <b>IUCN threat status</b>: <i>Abelmoschus odishae</i> is so far known only from the type locality restricted to Kanjipani block of Keonjhar district, Odisha. In the present study, after extensive survey, only one accession was collected from the type locality. The estimated area of occupancy is less than 1 sq.km with a total of below 10 mature individuals. The plant population at this site is likely to face serious habitat loss due to forest fire, clearing of forest for encroachment and severe human disturbances. However, the information on its threat status is inadequate from other phyto-geographical regions and further explorations are needed to ascertain the precise conservation category. Therefore, it is assessed as Data Deficient (DD) following the guidelines and criteria of IUCN (2022).</p>Published as part of <i>Misra, R. C., 2023, Abelmoschus odishae (Malvoideae: Malvaceae): a new wild okra from tropical Eastern India, pp. 291-300 in Phytotaxa 607 (5)</i> on pages 293-297, DOI: 10.11646/phytotaxa.607.5.3, <a href="http://zenodo.org/record/8248832">http://zenodo.org/record/8248832</a>
An Eye Tracking Study on MISRA C Coding Guidelines
C is one of the most widely used programming languages - MISRA C is one of the most known sets of coding guidelines for C. This paper examines the usefulness and comprehensibility of the MISRA C:2012 guidelines in an eye tracking study. There, subjects encounter non-compliant code in four different code review settings: with no additional reference, with an actual MISRA C guideline, with a case-specific interpretation of a MISRA C guideline, and with a compliant version of the code. The data collected was analyzed not only in terms of the four presentation styles, but also by dividing the subjects into experience levels based on their semesters of study or years of work experience. Regarding the difference between actual and interpreted guidelines, we found that for interpreted guidelines the error detection rate is higher whereas the duration and frequency of visits to the guideline itself are mainly lower. This suggest that the actual guidelines are less useful and more difficult to understand. The former is contradicted by the subjects’ opinions: when surveyed, they rated the usefulness of the actual guidelines higher
C Secure Coding Standards Performance: CMU SEI CERT vs MISRA
We present a prospective study for performance comparison between programs written in C language and the same programs reviewed and modified to be compliant with CMU SEI CERT C Secure Coding Standard and with MISRA C, the most relevant Secure Coding Standards in existence nowadays. Our initial results show that, as expected, any of the Secure Coding Standards is susceptible to have a negative impact on performance, increasing program running time. We have also found that MISRA C Standard may be less likely to affect code performance than SEI CERT C Standard is, and that it may produce a more optimal code than SEI CERT Standard does; however, further research is needed for proper confirmation of these results
The MISRA C Coding Standard and its Role in the Development and Analysis of Safety- and Security-Critical Embedded Software
The MISRA project started in 1990 with the mission of
providing world-leading best practice guidelines for the
safe and secure application of both embedded control
systems and standalone software. MISRA C is a coding
standard defining a subset of the C language, initially
targeted at the automotive sector, but now adopted
across all industry sectors that develop C software in
safety- and/or security-critical contexts. In this
paper, we introduce MISRA C, its role in the development
of critical software, especially in embedded systems,
its relevance to industry safety standards, as well as
the challenges of working with a general-purpose
programming language standard that is written in natural
language with a slow evolution over the last 40+
years. We also outline the role of static analysis in
the automatic checking of compliance with respect to
MISRA C, and the role of the MISRA C language subset in
enabling a wider application of formal methods to
industrial software written in C
- …
