Shared posts
Free PVS-Studio for those who develops open source projects
In the New year 2019, a PVS-Studio team decided to make a nice gift for all contributors of open-source projects hosted on GitHub or Bitbucket. They are given free usage of PVS-Studio static analyzer for development of open source projects.
We help to make code of open source software better and more reliable. Even though due to our publications more than 10000 errors have been fixed in open source projects, it is obviously not enough. Our team is physically not able to regularly check thousands of open source projects. That’s why in 2016 we offered a free version of PVS-Studio licensing. The only condition is having a special kind of comments in your code. The article “How to use PVS-Studio for Free” tells in more detail about this type of licensing.
In response to requests, we decided to make PVS-Studio usage possible for those who takes part in development of open source projects, posted on GitHub or Bitbucket. Authors of these projects don’t have to add any comments.
Everyone who wishes, can get a free license for 1 year. To get the license, you need to:
- Go to the page: https://www.viva64.com/en/open-source-license/
- Enter the e-mail, where you will be sent a license key;
- Enter the link to your GitHub/Bitbucket profile;
- Send a request for a free license.
Upon expiration of the license, you can get a new license key in the same way.
The key is individual and can only be used to check open source projects published on GitHub/Bitbucket. Free license doesn’t extend to projects’ mirrors.
The old version of free analyzer usage with adding code comments remains in force. This mode has its own advantages. For example, students can use it to test their projects without having to upload them on GitHub/Bitbucket. Moreover, the previous version allows you to use the analyzer even for closed projects.
Conditions
Support for free users is carried out in replies on StackOverflow. The article “How to use PVS-Studio for Free” (see the section “Update: Support”) describes this condition in more detail. We’d like to note that StackOverflow isn’t s bug-tracker. Let’s discuss there questions, related to analyzer work and so on. To inform us of obvious bugs, as usually, please, write to our support.
The action of providing free licenses is timeless. However, if we feel that something has gone wrong, we reserve the right to change its terms or to stop it. We also reserve the right to withdraw a particular key without explanation.
As mentioned earlier, the ability to use free license does not apply to projects mirrors, such as Clang, Chromium, KDE and so on. Support of developers of such projects would require significant work from our team. So it would be quite fair if the company where these developers work got a paid license :).
Additional links:
God litterär smak? Preppervilla med lyxbunker i Luleå
Har dessvärre fortfarande aldrig varit i Luleå, så det får bli ett foto från Keb istället. Samma län iaf. |
Många bör nog ta sig en titt i spegeln
Potentiellt genombrott i batteriteknik - högre nettoenergidensitet än fossila bränslen
Batterier av den här densiteten skulle dock enkelt kunna bytas ut och laddas utanför fordonet, då de blir små, i storleksordningen en bensindunk på 12.5 liter för att motsvara 50 liters bensintank (givet att batterierna har en nettolagring på dubbla bensinen och har dubbla tyngden).
1. En avsevärd del av ett flygplans startvikt är bränsle, och denna vikt minskar successivt för att i teorin ha nästan noll i bränslevikt vid laddning. Batterier väger inte mindre för att de laddas ur, men med halva vikten mot fossilbränsle blir räckvidden per kg "bränsle" ändå den samma - man börjar på halva bränslevikten, och slutar på halva bränslevikten. Vilket i snitt blir som att starta på 100% och sluta på 0%. Då man inte slutar på 0%, utan alltid planerar flygningar med bränsle i reserv, så kan dock denna batterilösning ge något längre räckvidd även om man dimensionerar batterierna för att det ska finnas energi kvar.
Toyota: 81 514 issues in the code
A story about the fact that the software is penetrating more and more in our daily life. However, with the comfort and usefulness come new dangers. Now we deal with the bugs not only sitting at the computer, but driving on a road.
- People: Hey, Toyota, we counted that 89 people died from 2000 to 2010 because of your screwed up your electronics and software.
- Toyota: Yes, but these are people to blame, they confuse the pedals.
- People: Houston, we have a problem.
- NASA: Wait a little, we’ll sort it out. We’ll need 10 months and 3 million dollars.
- People: Here, take it.
- Toyota: 3 million isn’t enough, here’s some more cash.
(10 months later)
- NASA: Hey, Toyota, we found a couple of bugs in your code, namely 7134 MISRA standards violations, recursion, 740-string long function and 9000 global variables.
- Toyota: We have our own standards. Have you guys, been to the Moon?
- NASA (publicly): Toyota is not to blame.
- (Toyota Shares went up by 4.6%)
- People: What was that?
(3 years later)
- Two American testers (whose grandfathers died at Pearl Harbor): No bugs you say? What if we find them?
The National Highways Traffic Safety Administration (NHTSA), have evaluated that in the 10 year period from 2000 till 2010, in accidents caused by defective electronics, 89 people died and 57 people were seriously injured.
Toyota denies its fault, and states, based on their own research, that it’s all because of “sticking” accelerator pedals, and a design flaw that enabled accelerator pedals to become trapped by floor mats, but recalls nearly 8 million vehicles around the world because of these two defects.
Still, there are more complaints coming.
We recommend that those with a nervous disposition not watch this video.
https://www.youtube.com/watch?v=cOWdWHSgI-4
NHTSA started their own investigation, asking NASA to help.
During the 10-month investigation, NASA specialists claimed that the software does not comply with MISRA standards (Motor Industry Software Reliability Association), and contains 7134 violations. Toyota responded, saying that they have their own standards.
December 20 2010, Toyota rejects all the accusations, but pays 16 billion dollars in pre-trial actions, releases software updates for some car models, and recalls 5.5 million vehicles.
After the announcement of the results of NASA’s research, Toyota shares on the Tokyo Stock Exchange went up by 4.6%.
In the year 2013, an action is filed in Oklahoma Court in regards to an accident in 2007, involving two girls in a 2005 Toyota Camry. One of them died, the other spent five months in a hospital with injuries to the back and head. Toyota has not admitted its guilt. They said that the cause of the accident was the driver confusing the gas pedal and the brakes; when she realized her mistake and started braking — it was too late.
Two engineers started the investigation. Michael Barr and Philip Koopman. It took them 20 months to review 280 000 lines of code and write a 800-page long report. Each.
The address was kept in secret. The hotel room, where the engineers worked was guarded 24 hours a day – security ensured that nobody was bringing in or taking out any papers. All the phones and internet connections were disabled.
Toyota recalled more than 10 million vehicles worldwide. Still, they have never admitted their guilt.
According to Michael Barr, their report was classified as secret. The same thing was done with the contract which gave them access to Toyota’s source code. Barr recommends Googling the transcript of the hearing material.
- TRANSCRIPT OF MORNING TRIAL PROCEEDINGS FROM THE 14TH OF OCTOBER, 2013
- BOOKOUT V. TOYOTA 2005 Camry L4 Software Analysis
- KILLER APPS Embedded Software’s Greatest Hit Jobs
Here is where the analysts worked:
Here is the report they wrote:
What they looked for and what they found
The main program in the dock is the electronic throttle control system (ETCS).
NASA experts scanned the chips with x-rays.
Cosmic rays were also considered as a possible cause of errors.
They checked the C code:
And then they finally got at the code.
Violations of MISRA (and NASA) standards
According to estimates, every 30 MISRA standard violations lead to one “serious bug”.
- In MISRA-C:1998 – the list contains 127 rules (93 mandatory and 34 advisory)
- In MISRA-C:2004 141 rules (121 mandatory and 20 advisory). The rules are divided into 21 categories.
- In MISRA-C:2012 there are 143 rules (each of them can be checked by a static code analyzer) and 16 directives (whose compliance is more open to interpretation, or relates to process or procedural matters). The rules are divided into mandatory, required, and advisory; can be applied to individual units or the entire system. The rules are divided into Decidable and Undecidable.
Toyota took only 11 rules from MISRA.
NASA analysis tools were able to check 35 MISRA rules, and 14 of them were violated.
The source – NASA report, appendix A: Software, page 28]
Total: 7134 (NASA estimation), or 81 514 (according to Michael Barra’s estimations).
10 rules of NASA
The Power of Ten – 10 Rules for Writing Safety Critical Code
- Restrict to simple control flow constructs.
- Give all loops a fixed upper-bound.
- Do not use dynamic memory allocation after initialization.
- Limit functions to no more than 60 lines of text.
- Use minimally two assertions per function on average.
- Declare data objects at the smallest possible level of scope.
- Check the return value of non-void functions, and check the validity of function parameters.
- Limit the use of the preprocessor to file inclusion and simple macros.
- Limit the use of pointers. Use no more than two levels of dereferencing per expression.
- Compile with all warnings enabled, and use one or more source code analyzers.
[The source – spinroot.com/p10]
The function length is limited to 60-75 code strings, after removing empty strings and comments. More than 200 functions in Camry05 code exceeded the specified length. One of the functions was 740 strings long.
Variables
31 names were declared several times in different scopes. The most frequent name is sts_flags1, which appeared in 57 different scopes.
This is worth a closer look.
Misleading code
A graph of the flow control of a simple program.
Cyclomatic complexity of the program above 50 – an indicator that the program cannot be tested.
In the ETCS-code Toyota has:
- 67 functions with complexity above 50
- The complexity of Throttle angle function = 146; 1300 code strings without the plan for unit testing.
Recursion
Programmers used the recursion in the Toyota code, every issue related to its usage led to the restart of the processor (CPU reset).
And so?
The amount of shitty code, on which the lives of people depends on, gets bigger. The example of the Toyota company, shows that the system developers can screw the code on an elementary level, not to mention, on the level of accepting the ethical decisions of the artificial intelligence. Although the main trouble is not that there are errors, but the fact that the owners hinder their process of finding and fixing the issues. These people are powerful enough to push on NASA.
“Applications programming is a race between software engineers, who strive to produce idiot-proof programs, and the universe which strives to produce bigger idiots. So far the Universe is winning.”
– Rick Cook, writer
Media
- U.S. Department of Transportation Releases Results from NHTSA-NASA Study of Unintended Acceleration in Toyota Vehicles (February 8, 2011)
- Toyota’s runaway-car worries may not stop at floor mats
- NHTSA-NASA Study of Unintended Acceleration in Toyota Vehicles
- Analysis of Toyota ETCS-1 System Hardware and Software
- Toyota Recall Timeline
Investigation report
An exhaustive presentation of Philippe Kupmana’s:
NASA Report on Toyota Unintended Acceleration Investigation
NASA Executive SummaryNASA Full Report
NHTSA Report on Toyota Unintended Acceleration Investigation
Four years before that
Wherever I’m going, I’ll be there to apply the formula. I’ll keep the secret intact.
It’s simple arithmetic.
It’s a story problem.
If a new car built by my company leaves Chicago traveling west at 60 miles per hour, and the rear differential locks up, and the car crashes and burns with everyone trapped inside, does my company initiate a recall?
You take the population of vehicles in the field (A) and multiply it by the probable rate of failure (B), then multiply the result by the average cost of an out-of-court settlement (C). A times B times C equals X. This is what it will cost if we don’t initiate a recall.
If X is greater than the cost of a recall, we recall the cars and no one gets hurt.
If X is less than the cost of a recall, then we don’t recall.
– Chuck Palahniuk “Fight club”, 1996
– How often do such accidents happen?
– You won’t believe it.
– Which company do you work for?
– Oh, it’s a very large one.
– “Fight club”, film, 1999.
This article was originally published (in Russian) on habrahabr.ru. The original and translated versions were posted on our blog with the permission of the author.
Author: Aleksey Statsenko
Filed under: C/C++ bugs
Bäst att BRF:er amorterar bort skulderna
AzPJag rekommenderar alla som äger en bostadsrätt att läsa detta.
"Det hela syftar till att föreningarna ska uppmuntras till att sänka sin skuld, då en förenings räntor inte är avdragsgilla. Mycket få föreningar känner till detta, och mycket få föreningar amorterar således i praktiken någonting. Föreningarna styrs ju av privatpersoner (lekmän) vilka överför sitt eget kortsiktiga tänk på föreningens strategi, vilket i förlängningen kommer sätta många föreningar i fällan den dagen räntorna går upp. En bostadsrättinnehavare (till skillnad från villaägaren) drabbas ju som bekant dubbelt vid ränteuppgång (Föreningens räntor till 100 %, egna räntor till ca 70 %).Så är du engagerad i styrelsen se till att arbeta för att flytta skulderna från föreningen till medlemmarna. Alla tjänar på det - både omedelbart i sänkt månadskostnad och sedan via avdragsrätt vid försäljning. Därtill så sänks medlemsavgiften, vilket generellt höjer försäljningspriset, i bostadsbubblans Sverige ofta mer än själva amorteringen, eftersom avdragsgilla räntor sänker månadsavgiften.
Föreningens ”rådgivare” har heller inget intresse i att föreningen får denna information. Att banken tjänar på att föreningen behåller sina skulder förstår nog alla, men även förvaltaren har nästan alltid ett direkt intresse. Föreningens kassa ligger nästan alltid i förvaltarens bank (Gäller t.ex. HSB, Bostadsrätterna (tidigare SBC) och Riksbyggen), och här finns det ett ”backavtal” på tillgodoräntorna, som tillfaller förvaltaren. Dessutom brukar föreningarna be förvaltaren om hjälp vid omförhandling av lånen, och även här utgår oftast en för föreningarna dold ersättning från banken till förvaltaren för omlagda lån."
I en perfekt värld kommer 500 000 i ökade lån för att amortera föreningens skuld innebära ett ökat pris på bostadsrätten med 500000/0.7=714 285:- SEK, om köparen av bostadsrätten bara stirrar på månadskostnaden. Till detta kommer att staten betalar 500000*0.22=110 000:- SEK i minskad reavinstskatt på grund av denna amortering.
Exemplet med föreningsamortering på 500 000:- SEK för den enskilda medlemmen blir en vinst på 110000+715285-500000=325 585:- SEK, plus sänkt månadskostnad fram till försäljningen. Det är en vinst på 65% på riskerat kapital om 500 000:- SEK. Eller som det heter i dagens nollräntesamhälle - "en ganska bra affär".
Solidaritetsdoktrinen död - regeringen rädd för att IS blir sura
"Sverige kommer inte att förhålla sig passivt om en katastrof eller ett angrepp skulle drabba ett annat medlemsland eller nordiskt land. Vi förväntar oss att dessa länder agerar på samma sätt om Sverige drabbas. Sverige bör därför ha förmågan att kunna ge och ta emot militärt stöd. Målet för det militära försvaret ska vara att enskilt och tillsammans med andra, inom och utom landet, försvara Sverige och främja vår säkerhet." - Solidaritetsdoktrinen
Den svenska regeringen har nu visat att den svenska solidaritetsdoktrinen är värd noll och intet, eftersom vi dels inte ger något stöd värt att nämna till Frankrike på dess 42.7-begäran och dels är rädda för att bli angripna av IS om vi gör det.
Om man tar sida i en militär konflikt, så faller det sig naturligt att motståndarsidan kan komma att begå angrepp mot Sverige, t ex om ett nordisk grannland (Norge) eller annat EU-land (Finland, Baltstaterna) angrips av Ryssland. Genom att säga att vi inte vågar skicka de av Frankrike och USA efterfrågade JAS-planen för spaningsbruk av rädsla för att IS angriper Sverige, visar vi att Sverige inte vågar stödja t ex Baltikum eller Finland. För då kan garanterat mål i Sverige riskera angripas av motståndarsidan.
Den svenska feministiska regeringen vågar alltså inte ta militär ställning mot våldtäktsmän, folkmördare, massmördare och slavhandlare och förslavare av kvinnliga sexslavar. För då kan dessa satans mördare bli sura.
Man skyller också på att det folkrättsliga läget är oklart och vill att det ska finnas en FN-resolution.
"Kommer det ett FN-mandat som uttryckligen talar om insatser i Syrien, då är det tydligare folkrättsligt, säger Margot Wallström." - DIMen en FN-resolution mot IS(IL) finns redan.
FN-resolutionen mot IS togs strax före midnatt den 20:e november och existerar alltså i allra högsta grad, där IS kallas ett "aldrig tidigare skådat globalt hot mot internationell fred och säkerhet". Regeringen (och Margot Wallströms UD?) visar sig alltså antingen vara direkt inkompetent eller så blåljuger man svenska folket rätt upp i ansiktet.
Oavsett har nu solidaritetsdoktrinen fallit. Sverige visar att det bara var tomma ord och att vi är för fega för att sätta handling bakom orden. Vi kan därmed inte förvänta oss något stöd åt andra hållet om vi blir angripna. Dessutom tog det en dryg månad för Sverige att ge beskedet att vi ordnar 50 - 100 timmar flygtransport samt två stabsofficerare.
Från försvarspropositionen, som beslutades om nyligen.
"Det civila försvaret bör inledningsvis planera för att lösa uppgifter under krig i fem till tio dagar."Det civila försvaret är alltså civila myndigheter och organisationers stöd till Försvarsmakten. Sverige ska alltså klara av krig i 5 - 10 dagar. Därefter behöver vi hjälp. Sverige klarade inte av att på en dryg månad bestämma sig för att hjälpa Frankrike när de begärde hjälp enligt Lissabonfördraget 42.7. Trots att vi tagit följande beslut så sent som den 16:e juni i den försvarspolitiska inriktningen 2016 - 2020:
"Sverige genom tar medlemskapet i EU solidariskt ansvar för Europas säkerhet och för EU:s möjlighet för fredlig och demokratisk utveckling i vår omvärld."Ej heller kan man skylla på att Försvarsmakten inte har denna förmåga. Sedan 2014 har vi haft Swedish Fighter Wing redo att sättas in internationellt, med 180 personer inklusive baspersonal. Förbandets sammansättning roteras, men kommer fortsätta från den 1:a januari 2016.
Sverige har alltså en JAS-enhet stående redo just för att sättas in internationellt om detta efterfrågas. Vilket alltså specifikt efterfrågats av både Frankrike och USA ("just JAS-frågan ingick i både Frankrikes och USA:s önskemål"), för att sättas in mot IS. En förfrågan som svenska regeringen alltså sade nej till. När är det då tänkt att Swedish Fighter Wing ska sättas in?
Sverige har blivit kallade, men inte svarat. Den svenska solidaritetsdoktrinen har fallit och Sverige behöver nu en massiv militär upprustning, då vi inte kommer få hjälp ifrån andra EU-länder om vi blir angripna. Den 16:e december 2015 är en dag att minnas, då vi alla skäms extra mycket för vårt land och vår regering, som endast fick 37.9% av väljarnas röster i riksdagsvalet 2014. Då ska man notera att stödpartiet Vänsterpartiets partiledare Jonas Sjöstedt har förordat svensk marktrupp mot IS i Syrien.
Black Friday: Vad är det för fel på svenska "skylthelg"?
"I don't do discounts - if I could offer you 50% off on one particular day then that would mean I am ripping you off every other day! [...] When I opened my shop in March 2015, I promised myself to offer the best prices I could whilst still maintaining a viable, local, independent business. That is still my goal (and frankly the only way I could ever feel good about myself!)."Mr Gills legobutik ligger på Brännkyrkagatan 56 på Mariaberget på Södermalm och finns även online.
På tal om gamla DDR-Sverige, så signerar jag böcker på skyltsöndagen i Karlsborg nu på söndag. Ni hittar mig i Karlsborgs Bokhandel klockan 14:00 - 17:00 och jag hoppas att vi ses där, ni som bor på schlätta mellan Vänern å Vätta.
Utomjordiska megastrukturer hittade vid stjärnan KIC 8462852?
"Jason Wright, an astronomer from Penn State University, is set to publish a report on the “bizarre” star system suggesting the objects could be a “swarm of megastructures”, according to a new report.
"I was fascinated by how crazy it looked," Wright told The Atlantic. "Aliens should always be the very last hypothesis you consider, but this looked like something you would expect an alien civilisation to build.""
Bland megastrukturer från science fiction-litteraturen och även som vetenskapliga hypoteser hittar man bland annat ringvärldar, torusar, sfärer, orbitaler mm - strukturer så stora att de närmar sig eller passerar planetstorlek (har ni t ex läst er Ian M Banks vet ni vad vi pratar om här, även om hans kreationer förstås vilar på andras axlar) och alltså går att i teorin upptäcka med Keplerteleskopet, vilket nu gjorts. Dock kan man förmoda att det inte med dagens teknologi går att fastställa närmare exakt vad för megastrukturer det handlar om.
Vi kan antagligen vänta oss betydligt mer kring KIC 8462852 de kommande åren. Härnäst bör även signalspaning likt SETI-programmet riktas mot KIC 8462852. Naturligtvis finns det möjligheter till alternativa vetenskapliga förklaringar när vetenskapen får göra sitt.
Den vetenskapliga rapporten kring KIC 8462852 hittar man här (PDF). Stjärnans ljus dämpas i perioder av mellan fem och åttio dagar, vilket innebär att det finns enorma kluster av objekt på olika platser runt stjärnan. I själva rapporten nämner man förstås inte den utomjordiska hypotesen, även om man kan byta ut begreppet "planetoider" och "damm runt dessa" mot "megastrukturer" och "tiotusentals rymdskepp eller solpaneler runt dessa" - en megacivilisation måste få tillgång till enorma mängder energi och en sk Dysonsfär, ett kluster av anläggningar som samlar in solljuset, är en väg att gå. Stjärnans ljus dämpas upp till 20% när klustren (vad de än är för något) passerar mellan oss och KIC 8462852, så den hypotetiska civilisationen skördar åtminstone 20% av stjärnans energi. Vilket kan jämföras med den miljarddel som Jorden tar upp som solinstrålning och som gett oss bland annat fossila bränslen genom miljoners års lagring av energi.
Popular Science har en bra artikel med kommentarer från astronomerna.
"Wright told Popular Science that although the comet explanation is the best hypothesis so far, it's a bit contrived. "It's hard to imagine how comets could block that much light--you need a huge number of them, and we must have caught them at a time when they happened to be all clumped together." That said, he acknowledges that Kepler studied 150,000 stars for several years, so it's possible the telescope just witnessed a very rare natural event."
Comic for July 25, 2015
Festivalrapport: Copenhell 2015, fredagen
Höjd kollektivtrafik taxa i Stockholm segregerar och blåser upp bostadsbubblan
Leif Pagrotsky säger hej till publiken på restaurang Familjen. Och då avses inte LO-(S)-kollektivet. |
Cornucopia? Evig tillväxt i en ändlig värld?
Läs kommentarer och kommentera inlägget på http://cornucopia.cornubot.se/.
Sanningen om brasilianskt nötkött
AzPBrasilianskt "naturbeteskött"
"På en grönskande äng i Brasilien står en ko och tittar på oss. Allt ser väldigt naturligt och idylliskt ut. I verkligheten har ängen kommit till genom att man har hällt på en kemikalie som kallas för 24D. Det är en väldigt stark kemikalie som dödar alla växter med blad som till exempel träd. Det är därför ängen är så jämn och fin.Detta kött importeras som "naturbeteskött" från Brasilien och marknadsförs bland annat av Scans dotterbolag Annerstedt Flodin.
Det används också fler starka växtgifter som till exempel Parakvat, ett av världens farligaste bekämpningsmedel enligt svenska kemikalieinspektionen."
Artikeln hos Sveriges Radio hittar ni här.
Det enda köttet som föds upp med svenska djurskyddskrav och miljökrav är just svenskt kött. Certifierat ekologiskt utländskt kött kan dock komma i närheten vad gäller detta - men av förklarliga orsaker lycka till med hitta ekokött från Brasilien...
Cornucopia? Evig tillväxt i en ändlig värld?
Läs kommentarer och kommentera inlägget på http://cornucopia.cornubot.se/.