Lär dig säker firmware med Jack Ganssle

Lär dig säker firmware med Jack Ganssle

Vill du ha tips på hur du löser typiska firmware problem? Kolla då in Jack Ganssle’s blog. I över tjugo år har Jack publicerat sitt nyhetsbrev, The embedded Muse, och tips till firmware-utvecklare på webben. Han har även författat ett antal böcker om embedded och engagerats av NASA för att analysera komplexa problem.

Kanske kan vi få se honom i Sverige till våren.

Hur vet du vilken kvalitet koden dina konsulter skriver håller?

Hur vet du vilken kvalitet koden dina konsulter skriver håller?

Ja, hur kvalitetssäkrar du dina miljoninvesteringar i programkod? Väldigt många produktutvecklingsprojekt drivs helt eller delvis av inhyrda konsulter. Kostnaderna för dessa är tydliga.
De är inne i projekten en begränsad tid, och sedan kanske inte tillgängliga mer för dig. Vad händer sen? När de lämnat över projekt, kod och dokumentation (och faktura), står du då med de körda systemtesterna som enda bevis på att koden fungerar och därmed klarar acceptanskriteriet?

Eller, har du också säkerställt att koden du betalt dyra pengar för är:

  • möjlig för andra programmerare att underhålla och vidareutveckla, dvs bl.a. väl dokumenterad och skriven i enligt en vettig kodningsstandard?
  • fri från dolda fel?
  • robust och tål återanvändning?
  • cybersäker?
  • har en ren och tydlig arkitektur?
  • enkel att testa?

Drar din nya bil 1 liter eller 10 liter per mil?

Såvida ditt projekt inte är av typen engångsleverans, så är det sannolikt så att ditt företag kommer att göra många uppdateringar och tillägg under lång tid framöver. Det betyder att investeringen i produkten till största delen görs efter första release, och under lång tid av flera olika personer. Olika undersökningar visar att kostnaden för det fortsatta underhållet kan variera stort (1-10ggr) beroende på den interna kodkvaliteten, dvs de ovan listade egenskaper i koden som du inte kan testa utifrån i ett systemtest. Sådana egenskaper brukar ha otympliga namn som underhållbarhet eller ”maintainability”. Kostnaden för dålig maintainability är att en programändring tar flera gånger längre tid att göra än i en kodbas med god maintainability.

Summerar vi då dessa två faktorer
a) största investeringen i en produkts mjukvara görs under dess livstid efter första release
b) kostnaden för underhållet beror väldigt mycket på ”maintainability” kvaliteten.

så förstår man snabbt att det är riktigt dålig ekonomi att inte göra allt för att kräva bevis på att den kod som du betalt för, har just god ”maintainability”. Eller, för att använda en simpel metafor, har du just köpt dig en bil som drar 1 liter eller 10 liter per mil?

Vilka bevis kan jag kräva?

Som tur är finns hjälpmedel och mätetal för att kontrollera olika aspekter på ”maintainability” och kodkvalitet. Några saker du relativt enkelt kan kontrollera är t.ex

  • frihet från defekter och en bra kodningsstandard, dvs det som kan kontrolleras med statisk kodanalys
  • kodens komplexitet, dvs hur testbar den är
  • coupling och cyclicality, dvs hur väl arkitekturen gjorts modulär och därmed återanvändningsbar.

Om du konsekvent använder dessa teknologier, så lägger du en kvalitetsribba för dina projekt som du kan kräva ska klaras av både interna och externa resurser. Det kommer att i framtiden spara dig mycket pengar i att slippa re-factoring eller att helt skriva om gammal kod.

Vidare läsning:
“The Economics of Software Quality” av C. Jones/O. Bonsignour, Addison-Wesley.
“Building Maintainable Software” by Joost Visser, O’Reilly Media Inc., 2016.
“Faster issue resolution with higher technical quality of software”, Software Quality Journal, 2011.

Teknologier som kan hjälpa dig:
– Statisk kodanalys, t.ex CodeSonar
– Arkitekturanalys med beroendematriser, t.ex Lattix
– IP säkerhet t.ex Achilles test

TRACE32 certified for ISO 26262 code coverage

TRACE32 certified for ISO 26262 code coverage

Lauterbach are pleased to announce that the TRACE32 Tool Qualification Support-Kit (TQSK) has been certified by TÜV NORD to ISO 26262:2011 for developing systems up to and including
ASIL D, the highest level.

With deeply embedded software playing a more significant role in our everyday lives it becomes more important that this software is developed well and is able to function as intended even in unforeseen circumstances. To this end numerous software safety standards have been developed for industries which where software failure will cause injury or loss of life: automotive, medical, avionics, etc. In many jurisdictions, compliance to these standards is mandated.

Many different tools may be used in the development of a safety critical system and it is not unreasonable to expect the same level of quality and reliability from the tools which are used to develop, build and test these systems. After all, a tool is usually just another combination of hardware and software and it also needs to be proven to be reliable and consistent when in use. With the Tool Qualification Support-Kit Lauterbach gives developers the peace of mind ofknowing that the TRACE32 family of products have been demonstrably shown to produce consi

stent, reliable results and can be proven to an internationally recognized high standard. Not only does this provide an extra level of confidence but can also greatly reduce the time and cost required to certify a toolset for a particular project.

Says Norbert Weiss, International Sales Manager at Lauterbach: “The Lauterbach philosophy has always been to provide high quality tools for professional developers. I see the TQSK as providing another advantage to our customers and allowing them to push the boundaries of what is possible even further and with less risk. After all, if you’re developing world leading solutions you should also be using world leading tools.”

The TQSK is available now for both new and existing Lauterbach customers. Please visit the registration page https://www.lauterbach.com/register_tqsk.html to obtain your copy

Enhetstest nu certifierad för säkerhetskritiska projekt

Enhetstest nu certifierad för säkerhetskritiska projekt

Cantata 8.0 automatiserar enhets- och integrationstest och gör det enklare att testa C/C++ i inbyggda miljöer. Cantata har certifierats av SGS-TÜV Saar som ”användbar för utveckling av säkerhetsrelaterad programvara” upp till högsta säkerhetsintegritetsnivåer för alla huvudsäkerhetsrelaterade standarder:

  • IEC 61508: 2010 (allmän industriell)
  • ISO 26262: 2011 (fordonsindustrin)
  • EN 50128: 2011 (järnvägar)
  • IEC 60880: 2006 (kärnkraft)
  • IEC 62304: 2006 (medicinsk utrustning)

Bättre kravhantering för säkerhetskritiska projekt

Bättre kravhantering för säkerhetskritiska projekt

VisureKravverktyget Visure Requirements är kraftfullare och snabbare än någonsin.

Verktyget innehåller inbyggda projektmallar baserade på årtionden av användning i reglerade miljöer. Dessa mallar ger en initial konfiguration av Visure Requirements, plugins och rapporter för följande processer och standarder:

  • Flyg och försvar: DO-178B / C och DO-254
  • Fordon: ISO 26262 och Automotive SPICE
  • Medicinska apparater: IEC 62304 och FMEA
  • Järnväg: CENELEC EN 50128 och FMEA
  • Agile: SCRUM
  • System Engineering

Version 4.9 har över 35 nya funktioner och förbättringar, bland annat en helt ny Word-export! Tilläggsmoduler för kvalitetskontroll av kravtext och synkronisering med Atlassian Jira är andra saker som förbättrar kravkvalité och spårbarhet.

Vill du veta mer eller utvärdera, kontakta Joakim Nilsson på tel: 040-59 22 08 eller joakim.nilsson@nohau.se

Penetrationstest visar på svagheter i dina inbyggda system

Penetrationstest visar på svagheter i dina inbyggda system

Hur säker är din produkt mot manipulation av olika slag? Vår tjänst hjälper dig analysera olika attackvektorer t.ex portar, kryptering, firmware resistance, mekanisk påverkan, JTAG, HMI, SW security.

Följ länken för att läsa hur vi analyserade en smart elmätare. Kanske kan vi göra något liknande för er?
Kontakta Mikael Johnsson på tel: 040-59 22 01 eller mj@nohau.se

Få aktörer och höga krav på flygsidan

Få aktörer och höga krav på flygsidan

”Svårigheten ligger istället i extremt hårda krav på hur systemen utvecklas och hur man säkerställer att processer efterföljs – allt från kravställning, implementation och verifiering måste hänga ihop. I slutänden måste man bevisa för luftfartsmyndigheterna att det också gör det!” Berättare Markus Ekdahl från Syncore Technologies AB.

Syncore är även en av få på den Svenska marknaden som arbetar och utvecklar mjukvara enligt DO-178 för luftburna system.

Läs om Markus syn på olika standarder och verktyg…

Segger släpper ett toolkit som ger möjlighet för IoT-enheter att interagera med molnbaserade tjänster, som AWS, Azure, Dropbox, Twitter, Xively m.fl.

Segger släpper ett toolkit som ger möjlighet för IoT-enheter att interagera med molnbaserade tjänster, som AWS, Azure, Dropbox, Twitter, Xively m.fl.

Segger tillhandahåller allt för att bygga smarta inbäddade lösningar för IoT via ett REST API. IoT omfattar idag ett brett utbud av smarta anslutna enheter och funktioner. Det innebär att ett brett spektrum av inbyggda programkrav måste uppfyllas när utvecklare väljer sin IoT-lösningspartner.

IoT Toolkit innehåller en http-klient och en JSON-parser och har designats från grunden för resursbegränsade inbyggda system. Det fungerar ovanpå en IP-stack och kan tillämpa TLS, om så krävs.

Mx-Suite automatiserar systemtest för fordonsindustrin

Mx-Suite automatiserar systemtest för fordonsindustrin

Danlaw’s testsystem Mx-Suite gör det möjligt att testa på olika nivåer och innehåller stöd för allt från modellbaserad test med t.ex Simulink och Rhapsody, ner till HIL-test. Fokus ligger på automotive då verktygen stöder ISO 26262 certifiering.

Några spännande funktioner:
-Testa i en virtuell miljö eller på target
-Testa från en Simulink modell
-Testa infotainment, ADAS, drivlina eller chassi
-Färdiga komponenter för CAN, LIN, Bluetooth, MOST, Ethernet

-Testa AUTOSAR software components
-Kvalificerat för ISO 26262

-Kör PIL (Processor-In-the Loop) med Lauterbach för realtidstest

MX-suite Danlaw

Önskar du mer information?

Behöver du en offert, information eller råd. Kontakta oss!