Merken

Static analysis, test coverage, and other 12+ letter words

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
so we have a market is the recording on my microphone hello that morning and that I'm pewterer I'm portraits of over and this the story of my life so I wanna talk about the various tools that so I and others have thrown its closest current you find blogs and other issues in implementation with atoms of dark almost all the but so that
service something simple and ever written C program like the 1 off to just do the test is and you compiled and seem compile fine have crashed immediately and then you notice did everything wrong because the compiled in 1 you about any of the problems so if you if you have if you don't then you will know that without compiler warnings the controllers worthless so that does that is why we impose process we'll effort into both the cleaning up existing warnings to the point of 1 was 0 depending on how you look at the likes issue and continue to add in a new 1 so this is the current set we were using by default and if you just look at the door w all and 1 but if you look through all the other ones an imaginary life would be if you didn't have those would be the set so that is the set we using and and you know we're pretty comfortable with this is only on seeing and this is actually what the I tend to use in built and it's especially that the so there couple groups in the 1st 2 are that the 1st was not really a warning option but what it does it it's it's on dude see slash Linux if the changes the definition of a of a symbol library functions so they declare themselves that shouldn't ignore the return knowledge and things like that and that in combination with the other warning options then gives you warnings if you if you are if you miss error checking return function for example which is it used problems the how we claim that well how well can we are currently not getting any garbage because of 2 reasons 1 is I always have this on an island also I would find it needs and the other is that on when to when they have some how hard could this into their compilers they're always believe this so the the original reason why we actually so sort of seeing out that we got these ports from 1 people yeah will will get will get to that so I did the the all this occurred in so logical opposite also something using there and that finds issues like if you have an if statement like if x is greater than 0 and and x is less than 5 there will be a OK flip that around if x is less than 0 and it's worth fighting there could be a type of it would find that so that's actually very useful actually has found at least 1 but it was just a few years ago I I actually submitted patches to make both of these and if all the while ago if you recall but the problem is that in very old GCC compilers so that people are still using them to produce a lot garbage because the legacy compiles were not as smart as the to can produce useful and it is kind what now this was not has nothing to do with the enough that there there's a reasonable plan I don't remember the details but there's a reasonable platform they were just a few years older so and this is the sort of the story that is is this a problem all of these things you wanna add you know these or other ones the the 2nd group there is some things that I sometimes also use they haven't really found much but so you could use think the 3rd group there is something that I use with client specifically and then the other than the ones below their it's like 3 . 4 so they they haven't really found anything yet but there are also sort of 1 the right on the road map to but the problem is really you can't make use of the false so the reasons that mention because different compiler generations produce difference with nonsense for that so if you want to maintain the at what we have you know that the 0 kind of the of the warnings it's really hard to move forward that that's annoying issues and it's gone you know people who were interested in this will basically have to do this manually for also you you get yeah but that yeah you could do that you use has to do a lot of work to do that so the islands vitamins Helena warnings but yeah there's obviously lot of fiddling with it no that's another issue that many many issues 0 that's good all of the notes ahead so 1 day out of 1 thing I always do at a given question so 1 thing I always do is compiled with WER which all warnings to and I have done this successfully so to speak for homeless 5 years so which is it I compiled code and it flies by I don't see the warnings need to have it will announce a compiler that's just my workflow the problem is if you pass are and to configure configure fails because it generates points from respondents testing in the work around I use of figures I shall that does this sort of thing so if you want to get a photo taken hold a look at that thing that had and at this works so because actually the I I use this much longer could also fixed of options for the that that that for me is useful I think everyone else should look into that because it's really helpful for my now as I am always the 1st thing you want is if someone said the Committee on that I know of the chosen
years so the charts by computing the all over the weekend which was this computer heat at my office for a while this was going on in this study shows the the the the progress of compilers becoming more and more even smaller or annoying depending on how interpreted and also of some you catching up with them and the console CA diagonal you're as time progresses that the problem with this is you know going back to the WER issue if you need to make a change of you need to back up something into 9 1 0 right now you need to you know you very carefully look at the warnings or or not that Uriel compile generates all you need to know what this chart and then actually tried to install Jesus 4 . 1 bill that was that was current times that is a very annoying and pretty much an unsolved issue for working in background shows I don't know the extent of keeping a low composer which are essentially but not all classrooms have the option to install the universe opens this cannot and on in case occurs what this is in a lot of the year options and 8 . 3 was that they the compiler was completed in 19 to that generates hundreds of warnings almost layout of GCC 4 . 6 they and variable was set but now used which was used for no issue with this is there are a lot of developers build with assertions enabled but if you turn assertions altogether different so warnings because sometimes warning variables used parts of sub sometimes this sort problem actually don't get detected for long time until someone will say that the solutions to difficult every majority built on doesn't do anything but 1 1 don't talk really Rob Pike was mentioned is also the 1 of the couldn't go program which which you know you can have that have been about but 1 interesting they thing they did they don't have any component of the long narrow not so that which makes you know this this sort of thing which is which I think was it is it is a good decision so now we will talk you S yeah OK so this 36 this is on Mac OS 10 version 10 . 9 specifically those is 36 if you're on a Linux bottom might get this as a I argue it's about thought about Jesus complaints if you right hand side of the com operator does not have side effect how and this this and this this is a new warning they introduced and this happens in this system has all of the operating system for in various macro suspensions and their numbers about that so you might not see this but if you're if you're me and you develop and this 50 per cent of the time and you run the WER than this is images is useful when I'm broken from the moments of actually used for is graph theory you get the read here I know a lot of people haven't seen in discussions that people have macros of except that I and my expands it always works or is not fixed yeah the the head of of the of the new also said that it is kind of media obviously they are obscure platforms where it is not 0 at the moment because there will be also be in climate of course on if you use like for example Solaris so what it was false and form sense to you and you get a bunch of different things and it's not it's not easy to turn them office for them that they have these options so come those come platforms so what very and so that the the compiler option and the way to compile optional compiler warnings are designed so they don't slowdown compilation so much right so the next level of of intensity versus because the state tools that were specifically designed to produce essentially as many warnings as possible so at the expense
of super slope built and could barely was kind of the 1st of these can or attention on a broad scale and they security came out a research project but it's a commercial company they sell this product for all my idea to do directly was your superclusters and storage unit in around 2005 based on this open-source program I think there was also some of government-sponsored built on 2 orbitals projects make this public available will expanded this splash for more time and now it's almost to the reading 1 can sign up and will stay with the results of still this entire license so I I can't really go into too much detail so they're not knowing what I'm getting myself into what are you associated with the companies of both will have another example which is declining scandals which is open source of joint people they very similar it just occurred he goes over the course of if you want 0 OK so 1st of all we have kind of made the decision that the only people who should have access to this is people are also security and because there is security issues and so if you're not on the team which is what you can do is you to submit your project according to some of the posters perspective you figure that out you have the result of that so on work but if you if you want the year you know of the emotional so to speak you have access to this you can talk to stephen frost primarily I'm also an admin on this and 1 that is also have that so we could help you this is the URL you can go to the 1 you might have know yet and as you can see there's 0 there's a lot of things so I found in the commit log 71 issues mentioned well that's the data of the well it's hard to you know have that argument about 15 and to be more easily argument about 50 so we don't know how what we have been 0 as between you and myself and others have been through a lot of those 5 so yeah where we also an example in a moment of what the hell looks like we have I found 71 which doesn't mean there was 71 issues of problem 1 of 2 or 3 and because his commits bunch of entities a lot of those are in the region of memory leaks or a memory access problems so as it says here they're 1501 issues outstanding again we have disqualified most of us but who really knows the issue and if you want a develop or so you can get access to the current you know who know the notification that their effect on the body which was used in statistical so the added the week after that but that that's a level their work on so they do take checks of the Czech word that comes from and thank you 1 you about if using village from external sources into going problem with input space we actually do a lot of things about of course is not a lot of with a block from this and so trusted implicitly that this has the right structure and then just assumes all of there's a length byte you that we assume there's that much of that doesn't work out just the bad things happen so essentially we trust what I wasn't data directory implicitly and so all these paychecks only work for us which you know there's probably a lot of the amongst us 1500 but who really knows this really 1 that this problem boys at another example of this is if for example kanji-based back up that was initially that's all feature-based backup pulls down incorrect data from the the Sauber or you can make a fresh potentially by having like a division by 0 so that possible it's not a huge issue if you don't if your goal is not to expect the opposite of that would obviously be much bigger problem if you send incorrect it up to source so regression because you said 0 sum so but they can't really tell what is more what I have it seems like a pool of the web portal so here this some would 1 of
can 1st now this year of citing so this is the usual
dashboard get here
smaller is you would like to
thank all of you the back just don't seem to really work as a only I can only find 1 while the actual interesting things this 1 here where
you can go through all problems to spilled the formula is this and you have just look at this you know this this is the off compared to this and then you compare that there's nothing changed so the last thing I I think I see is we didn't take that is the point easy example right so you know arguably compiler the fact that also because research for blogs and news more time to to analyze so this is the level of radiation to get through so we will get into account something the the
it is pretty cool you can with a so the of open source alternative to that is this scandal which came out of the house and also which came out of the L B L U R C V 1 explain 30 spilled in your basement and the needs of a lot of it has a lot of our nose out of this thing it's it's so it is basically someone in the interest of achieving regularly builds was present and it's if you upload some finally to them they analyze it so it is not only a year or 2 and so scandal is kind of open source so alternative that came out of the old project this neural it so if you wanna use that here's the rest of so you can just throw yourself was reasonably up-to-date platform should have the so in a package that might call eligible clients can be used it is yes it is the we were talking of it is indeed it is an aggressive development so you have to kind of they do stuff and the stuff in parallel to the line of the force thank you Kenneth Siemens at it's so if you want to build their endowment that tool the O is basically which stores output and figure you ought to build that enable a start and then it is still at the site between have not always and it tells you how many books upon and then what is it always when a moment you don't have to wait until whatsoever them and then there's this tool called scanned you which pulled up the result in an additional report similar to what occurred just so let's look at what all
the according to their own so as you
can see in the you box let's look at it offensive jobs so good 1 0 so here's all places where division by 0 so you can see all the will fail if a pesticide sizes 0 that's by design so can do that the printer genes will fail for example if you have it printed Sultan 0 columns which you would normally get can affect as know we can think that with tables with but the reason why this is not a promise that tables with 0 columns also 0 so no rows actually printed so if you could take up results that you could crash this but in practice this problem the the effects and this whole situation is that you put in the sort somewhere in there that will just say no sort column column from this group of 0 and then you so crashed but in more controlled way and this tool will know about and in this way that's why you need to the search problem is in the back and the concurrent sessions off at runtime so now that will work because the use the code path analysis always has to analyze the path well what if assertions of turn off and I have to look at this path right so that that that still works of this tool is about that they currently has somehow they said they had sought manually tweak something so they know about that so I may be that it used to be a while ago that they have you know they have the same class of problems in the case there a lot so so the 1 so I know it's going to so you buy some generate code will lots of problems you know on 2 on the road that you is something in the course of and C
gives economists have theory can go the you know how this comes about
this is this function which gets in a list of arguments and then you known notions well and know this so this goes moves around here and assigns the arguments of the list to this array which is is this a fixed size so a comparison was this woman that you have problems this this will not actually fail in practice this like 3 levels up there a check that you can you on a more semantic level that you can't pass in anything longer than a year from from max art right so the fix again you would be to pass in insertion noted in putting solution but the problem is the this will fix that but as you know this is not actually there yeah this is not actually run its course where this the problem is down here working groups through that same thing again and aside back into the list but it has no knowledge about list so it doesn't know that by exercising this loop you do a number of steps of something doesn't also it it would have even if you put in an assertion list length something it has no no knowledge of of the surface is of all the list so in real space so to speak at it don't think there's anything can it doesn't know that that's a list that has been properties of the sort is 1 the there it if you
just sort it will know it will know a was was 1 assertion does mitigate this could pathos is not relevant so units here some this is a
common problem passing a all pointer to a function that shouldn't get 1 and if you trace this all the way back to this values is assigned as a result of P L up but this tool does not appeal of at all so that might be something you can instrument somewhere that that that would possibly of law cases but in a lot of in the GCC also some actually put on functions that tell you that this or mentioned in all but on think they have actually that tells that this function or at all and that's actually use a lot more cases certainly help here again
so and you and there was a question about what what about DDE log issue and we we added so she also had no return matches to function of also improving the lot of potential core thousand years much of issues with the time I'm I'm I'm now as I think you just do the terminated because it yeah I would have to it I would actually have to trace through you know and and see the long jump in some cases but if you could potentially could do that but I don't think it like thinks that the that's the problem you know because you have to do it after the trade of how long this thing is going around world so this is
number of arcs media for report about that all time and at some point in 9 . 3 of things when we put in the marginal returns and is itself a lot a prerequisite for this is that you get flying to build up 1 is because it's kind of the same foundation so a lot of the old lease of just basic planboxes in time that the there's no particular reason when I'm for was more I was kind of surprised by that but that that doesn't seem to be any systematic change there just certain in unrelated changes have potential issues this is the easiest the star polymers kind of branch I have made myself where I have made assertions the detention also prunes certain code paths and did not know of a few other possibly controversial tweaks to see how we can get that number I you know ideally I would like to get that 2 2 0 because again this comes back to the warning losses are issues that you you know you always have to compare numbers you never going to get really want answers so that as was mentioned scandal still no and development and things come in because it's kind of hard but this is a useful tool that everyone can use open source and you can play around the Richard using our family well and hold near and all so yeah that's right you know which I should have if I had more in our from 1 would have wanted to stresses level y could've done this all and releases from take so another static tool that came out of LBM this is the address sanitizer gesture came out of Google for their Chrome browser I believe and that but it's now a it's not part of the flying compiler as of the adjacency 4 point 8 it's also part of it because it is just so the way this works you give it this option senators addresses this 1 is still he 1 and these are recommended to get them back traces but then you can build it run whatever check tests you might have and if there's a problem with that whatever this checks for which is many bottle runs it will crash at this point and then I will print a sound our a cryptic backtrace and then there's this script comes with that you can run this back in lecture is true and you will get an out vector is just a dual example what is I want the student is recommended it to get the practice had has have no action is seen that this is a clang options something you might have seen this energy is this is this is more well known now I don't know what is that it's it's it's in the options so 1 issue we
found this might look familiar to some is this issue in this was a non issue that's why this is more for long time if you run names to copy and will do eventually it's a copy of these 2 things and there is a certain case where these are the same so you think that's fine because it just copies and on top of itself and for the last 20 years so that there were fine but but this thing was founded for strictness reasons and it was ignored for long time but then you need some new compile and 10 . 9 actually complained about this or crashed here are just as for the rental compilations at that point you fixed and then at least sometimes will and once you fix that you this is a real issue that we found here are some you get through the you select will manage string constant was saying system a new cast 2 data passes to this pair fibers expects name did America and in most cases that's fine because names just 64 bytes string but at some point limit down here this string gets copied into another copy of itself and that will then copy the 464 bytes worse this is not not successful lifelong that's a cop confusion insisting so at this so this could be a real problem when someone is actually at the so of this this was useful was that that the problem is that assigns sizes adjust whenever the it finds the 1st from a crashes so we need to fix that always foreground pointing at the next point so how many of you know obviously you can just comment that out and you can pass by right so it's this 1 analysis but that I'm not familiar with that this is
the this is what happens so this is a this is a current issue this is as of now in what what is actually going away present it will work fine and 32 bit builds up it will discretion sensible bills and this was discussed on making this a few months ago and essentially argued that this is not a real problem so you don't have to worry about too much but it it will crash right this way if you do it right now so would be worth fixing some point
so yeah so ball bearing this has received a lot of attention community lately and it's a it's much more general tool in action the website in our discussions of it's a just-in-time compiler deplorable just-in-time compiler so you can do a lot of things now obviously it's more known as a memory checking tool and yes you can also use watering they all of these tools for all of these tools overlap in some degree right people bird you can check member find memory leaks 1 if it can reason about statically or and we'll will finally just because of the fact that more it's it's it's more guaranteed to have a good answer so In the important thing I would like to do more of more grand and I think a lot of people here are the same thing you can do a lot of
things so here's a couple ways you can use it a lot this is something something that taking poses to say 0 there's an example you back and work something I looked at so his litigation was put up recently to to particle 1 thing I am kind is also memory leaks in front and programs for example impinging done in memory leaks could become a problem but are not well tracked the movement if you were actually do this you will get a memory leak but as you will see it's kind of 1
this is what you get from digital right now but as you can see the memory leaks hard on the site of action reduces the problem so
yeah so here and that this is every program in posters on these client proposals from that allocates a few strings for local services of group opinion of the program and as freedom so any time you do this you will get the sort of trace and as you know we can add suppression files to get those which I would like to do this and you get all of these things down to 0 and then deal to run test suites began with that would answer at the end of the honorable of but you fix all those 1st so this was specifically the check a
lot of the all the work that has gone in the back and this access to memory that should access of various kinds which is what this guy and he would find national of work on that later down the foundation 19 commits mentioned board Bryant so we haven't done a whole lot of dough there was a lot of activity just 1 of 1 of my closest you basically you feel to run this automatically just the existence of the very concerned with that the government through the yes this this should have made the same way that so In the process of the same that's I have no idea how that problem really you would you would know a lot about running things on smartphones and the universe the reason that they're there history of all of these were all of this yeah if you're interested this is that this wiki pages all we have at the moment doesn't even go into this much detail so a lot of documentation work can go into this trace children is important in the back and because of the working on election or trees on just that we the bora inference just so you get the factors do you know what the track oranges is about there's a have to do with the how the palate instrumentation the added recently we use in the way of I want you to that the where the else yes you say this one's a lot slower so long right so I think some more documentation you useful and I think also if you want to run in before problems together report on how you and because there's different things in general all right but there so I I see this sort of thing as a progression of tools that get more sort intensive so you can you know starboard compile warning study analysis finds a lot of memory issues as well but they can only reason 170 this run-time tools and there they have runtime knowledge of what's actually happening so that's great so in order to actually get anything useful of this specifically will also this you need to have tests that exercise this right 0 and we talked about already yesterday 0 there was a company called son along time ago that inputs as community and actually submitted this that they could use this feature was me and so on and so on so this is benevolent and I just want to remind people how this works if you want to find out whether something about what the test colleges of any given test or anything you run yourself use this enable coverage make coverage clean just deletes the additional output from the previous month after a long puzzled many puzzling nights I discovered it's best around surrounded Max connections equals 1 so we don't have any concurrent stuff happening because the output files alright each other at 1 time and it just uses corpus so that might be useful knowledge and then In the producers ation operating look at the roles of that I have
Jenkins each of those that looks
like this yesterday I think he was complaining that speech
spectrum is not exercise which some of you know there's a lot of arguments about like how much coverage you need and all that's that's different that's a different problem that red is probably not doing right so I think this is as special here right up through yes so we know we don't really have a lot of knowledge about a domain of problem next yeah and you know
all of all knowledge so all of you have something like so obviously this is not about you know how design tests and so that's a bigger problem I think this is more like a 10 to 20 cent solution to these issues with the possibly actually know scientists obviously much work was so so we're going to fail at partly system would go to fail um so for those who don't know go to fill was an issue in the Apple exercise elaborates what they expected you can go to statement and skipped a bunch of the was right so I I tried to so I try to replicate and I made this
patent was 1st just locally so in the world but and and see it's your what happened so it's yes so obviously obviously PG and then it would be kind helpful messages just on our side and that's that's good also if you do this possible failed the protocols on a subset you'll see this but this could be in you know in the actual as eloquent posters well but also as good use it and is not exercise in this instance people usually runs in the 4th and 3rd there was no compiler warning scandal demands anything about it I can check a rarity I have more confidence that they might find that but I couldn't units of in my own field but this could you know this is not a trivial trivial problem to address this is what ii if you know the option of the variances of this trial what the removed as there was a long time ago in GCC on and that could analysis which they removed because it was in work and you haven't yeah it's it's it's a hard problem right in again in in languages like go for example they have you made district decision in languages I'm at that code in all of so they will be in our job or they have middle of a compromise with the well-defined compromise when there is a lot of not in cities there's a lot of things that are possible long johns and if that's and so it's not possible to design an option that works for everyone but you're claiming that there is now a brand option that might catch that we're interested that there's no way the yeah that again if you run into a lawyer not familiar with LINs but it it will then give you you know possibly thousands of unreachable code was that's so yeah I This is an open question I don't know if anyone has a good idea I just right so that the usual tool that that we have available if anyone knows how to fix up the great addition to this week I think so right yes was what's as well it's Linda's on my list right of all things to try and I I've played I shouldn't have play with land on again you know it gives you a thousand reports it's not helpful it needs to have the speedily and splinters in the same category needs it it has promised never good things about it but it needs to be choosing back out of it to understand everything that's going on and you know it has 1 jobs like all using the C. this OSI that'll policy so units what a user might have really custom combination of all these things out you tell them it's it's very hard plans a bunch of other sanitizer said the war in worth trying out but they haven't really done anything from the sanitize undefined would find undefined have not anything that that's a a good memory sanitizer only works on knowing limited amount platforms so it's not really a good solution but it there's a lot of overlap of online that assigns sizes that any of the study analysis tools of arms and don't use threats but version of the other mention splinter so the bar yes it is so some people might remember that came out of and hackers maleness around the year that there is a commercial tool where they this through the at 1st person reported some of the issues that effects and the kind of an odd mix of things that they're reporting on good but I download the full list of of things they reported and the entire list containing 51 thousand 472 issues so that's not really that helpful and then so of all this should actually check that book checks on the field of that are affected and 12 thousand 160 still my helpful and there and therefore it's not useful to that we want to go through that and they're very picky for example but using for example the long time you tell you that I is a longtime tells you this time size-dependent architecture this tool might have come out around the time where 64 bit architectures were coming out and people need to support to me that's like the names of its commercial tool is a link here if you look at the size of the thing that's such comment on like way over 100 he he is a
to to toward below that so here's our lines of code see is not on the committee was actually contribute to that so that's not going right direction then months since really isn't commit sins release and dynamic response that also not going the right direction lessons cost within that such as that's it I you that's the that's the thing I like that that's a problem we know well getting busier so I I I hope with all these if you throw all these tools that we can use these to make up their little bit obviously it's not going to help find more complex issues that we know about so I think this is more than 10 to 20 % solution if we put work but in of all I plan to do more work on
that if someone wants to join the great so I think Google for next releases to do a work is capable of binding sometimes they're working really well and that more test exercise some of the stuff that's not exercising if people have issues with building with W let's find itself it's fixed issues if we can so let let me know if you continue need to help this the last slide so I think we gotta go any questions of different jobs women and you have to follow the
Videospiel
Datensatz
Softwaretest
Web log
Wort <Informatik>
Implementierung
Ordinalzahl
Analysis
Computeranimation
Punkt
Prozess <Physik>
Momentenproblem
Compiler
Versionsverwaltung
Gruppenkeim
Befehl <Informatik>
Analysis
Computeranimation
Übergang
Eins
Trigonometrische Funktion
Client
Minimum
Spielkonsole
Figurierte Zahl
Softwaretest
Lineares Funktional
Nichtlinearer Operator
Datentyp
Ausnahmebehandlung
Zeiger <Informatik>
Dateiformat
Konfiguration <Informatik>
Entscheidungstheorie
Dienst <Informatik>
Generator <Informatik>
Menge
Rechter Winkel
Graphentheorie
Makrobefehl
Diagonale <Geometrie>
Lesen <Datenverarbeitung>
Fehlermeldung
Aggregatzustand
Subtraktion
Mathematische Logik
Mathematisierung
Schaltnetz
Automatische Handlungsplanung
Zahlenbereich
E-Mail
Systemplattform
Code
Algorithmische Zahlentheorie
Bildschirmmaske
Variable
Arithmetische Folge
Digitale Photographie
Netzbetriebssystem
Datentyp
Endogene Variable
Programmbibliothek
COM
Zusammenhängender Graph
Optimierung
Softwareentwickler
Maßerweiterung
Konfigurationsraum
Grundraum
Bildgebendes Verfahren
Soundverarbeitung
Beobachtungsstudie
Videospiel
Symboltabelle
Physikalisches System
Ausgleichsrechnung
Quick-Sort
Office-Paket
Mapping <Computergraphik>
Patch <Software>
Parametersystem
Hypermedia
Mereologie
Compiler
Einhängung <Mathematik>
Resultante
Gewichtete Summe
Momentenproblem
Datensicherung
Raum-Zeit
Division
Computeranimation
Übergang
Leck
Benutzerbeteiligung
Einheit <Mathematik>
Perspektive
Lineare Regression
Optimierung
Speicher <Informatik>
Datenstruktur
Soundverarbeitung
Parametersystem
Zentrische Streckung
Dicke
Open Source
Computersicherheit
Systemverwaltung
Orbit <Mathematik>
Überlagerung <Mathematik>
p-Block
Quellcode
Biprodukt
Ein-Ausgabe
Speicherbereichsnetzwerk
Entscheidungstheorie
Festspeicher
Wort <Informatik>
Projektive Ebene
URL
Verzeichnisdienst
Lesen <Datenverarbeitung>
Punkt
Elektronische Publikation
Web log
Hausdorff-Raum
Zeiger <Informatik>
Extrempunkt
Speicherbereichsnetzwerk
Analysis
Computeranimation
Ausdruck <Logik>
Übergang
Sinusfunktion
Lesezeichen <Internet>
Temperaturstrahlung
Metropolitan area network
Verschlingung
Rechter Winkel
Julia-Menge
Bildschirmsymbol
Rippen <Informatik>
Benutzerführung
Ext-Funktor
Chi-Quadrat-Verteilung
Resultante
Web Site
Multiplikation
Elektronische Publikation
Momentenproblem
Open Source
Bildschirmfenster
Systemplattform
Computeranimation
Portscanner
Lesezeichen <Internet>
Metropolitan area network
Client
Forcing
Julia-Menge
Äußere Algebra eines Moduls
Projektive Ebene
Softwareentwickler
Speicher <Informatik>
Figurierte Zahl
Benutzerführung
Verkehrsinformation
Gerade
Gammafunktion
Funktion <Mathematik>
Resultante
Quader
Klasse <Mathematik>
Gruppenkeim
Extrempunkt
Division
Code
Physikalische Theorie
Computeranimation
Metropolitan area network
Mailing-Liste
Datensatz
Prozess <Informatik>
Chi-Quadrat-Verteilung
Gammafunktion
Soundverarbeitung
Pfadanalyse
Elektronische Publikation
Singularität <Mathematik>
Rechenzeit
Quick-Sort
Lesezeichen <Internet>
Programmfehler
Benutzerführung
Einfügungsdämpfung
Chatbot
Tabelle <Informatik>
Einfügungsdämpfung
Extrempunkt
Gruppenkeim
Zahlenbereich
Extrempunkt
Bildschirmfenster
Raum-Zeit
Computeranimation
Übergang
Loop
Metropolitan area network
Einheit <Mathematik>
Flächentheorie
Bus <Informatik>
Generator <Informatik>
Gammafunktion
Quarkmodell
Parametersystem
Lineares Funktional
Dicke
Elektronische Publikation
Kategorie <Mathematik>
Mailing-Liste
Paarvergleich
Quick-Sort
Lesezeichen <Internet>
Lemma <Logik>
Diskrete-Elemente-Methode
ATM
Einfügungsdämpfung
Message-Passing
Benutzerführung
Resultante
Lineares Funktional
Vektorpotenzial
Elektronische Publikation
Multiplikation
Elektronischer Datenaustausch
Extrempunkt
Bildschirmfenster
Gesetz <Physik>
Computeranimation
Differentialgleichung mit nacheilendem Argument
Metropolitan area network
Lesezeichen <Internet>
Wechselsprung
Julia-Menge
Zoom
Speicherabzug
Bildschirmsymbol
Zeiger <Informatik>
Benutzerführung
Einfügungsdämpfung
Punkt
Browser
Adressraum
Mathematisierung
Gruppenoperation
Familie <Mathematik>
t-Test
Zahlenbereich
Ikosaeder
Systemzusammenbruch
Code
Computeranimation
Übergang
Kreisbogen
Metropolitan area network
Fahne <Mathematik>
Code
Skript <Programm>
Softwareentwickler
NP-hartes Problem
Softwaretest
Logarithmus
Open Source
Verzweigendes Programm
Vektorraum
Zeiger <Informatik>
Systemaufruf
Speicherbereichsnetzwerk
Konfiguration <Informatik>
Portscanner
Energiedichte
Betafunktion
Mereologie
Hypermedia
Benutzerführung
Ablaufverfolgung
Verkehrsinformation
Inklusion <Mathematik>
Automatische Indexierung
Bit
Punkt
Compiler
Systemzusammenbruch
Physikalisches System
Diskrete Gruppe
Lie-Gruppe
Auswahlverfahren
Computeranimation
Sinusfunktion
Metropolitan area network
Inverser Limes
Urbild <Mathematik>
Ideal <Mathematik>
Personal Area Network
Gammafunktion
Zeichenkette
Analysis
Binärdaten
Web Site
Just-in-Time-Compiler
Weg <Topologie>
Gruppenoperation
Regulärer Ausdruck
Ikosaeder
Überlagerung <Mathematik>
Information
Computeranimation
Leck
Minimalgrad
Rechter Winkel
Fahne <Mathematik>
Festspeicher
Partikelsystem
Optimierung
Web Site
Gruppenoperation
Gruppenkeim
Regulärer Ausdruck
Extrempunkt
Information
Bildschirmfenster
ROM <Informatik>
Computeranimation
Metropolitan area network
Leck
Client
Total <Mathematik>
Zoom
Optimierung
Softwaretest
Binärdaten
Suite <Programmpaket>
Lineare Regression
Division
Stellenring
Elektronische Publikation
Nabel <Mathematik>
Dienst <Informatik>
Rechter Winkel
Festspeicher
p-Block
Zeichenkette
Mittelwert
Prozess <Physik>
Momentenproblem
Inferenz <Künstliche Intelligenz>
Weg <Topologie>
Regulärer Ausdruck
Ikosaeder
Oval
Information
Whiteboard
Computeranimation
Netzwerktopologie
Metropolitan area network
Weg <Topologie>
Softwaretest
Arithmetische Folge
Fahne <Mathematik>
Existenzsatz
Grundraum
Gammafunktion
Analysis
Funktion <Mathematik>
Binärdaten
Softwaretest
Beobachtungsstudie
Einfach zusammenhängender Raum
Elektronische Publikation
Elektronischer Datenaustausch
Indexberechnung
Varianz
Rechenzeit
Übergang
Überlagerung <Mathematik>
Elektronische Publikation
Wiki
Ein-Ausgabe
Quick-Sort
Teilbarkeit
Lesezeichen <Internet>
Uniforme Struktur
Festspeicher
Ordnung <Mathematik>
Smartphone
Baum <Mathematik>
Mittelwert
Domain <Netzwerk>
Explosion <Stochastik>
Sprachsynthese
Extrempunkt
Punktspektrum
Bildschirmfenster
Computeranimation
Metropolitan area network
Domain-Name
Verzeichnisdienst
Softwaretest
Code
Zoom
Gammafunktion
Parametersystem
Elektronische Publikation
Gruppe <Mathematik>
Elektronischer Datenaustausch
Übergang
Überlagerung <Mathematik>
Gerade
Lesezeichen <Internet>
Quader
Verschlingung
Versionsverwaltung
Benutzerführung
Software Engineering
Mittelwert
Bit
Compiler
Formale Sprache
Schaltnetz
Versionsverwaltung
Extrempunkt
Systemplattform
Code
Computeranimation
Softwaretest
Einheit <Mathematik>
Bereichsschätzung
Prozess <Informatik>
Front-End <Software>
Mixed Reality
Inverser Limes
Hacker
Varianz
Analysis
Beobachtungsstudie
Softwaretest
Soundverarbeitung
NP-hartes Problem
Addition
Befehl <Informatik>
Protokoll <Datenverarbeitungssystem>
Kategorie <Mathematik>
Güte der Anpassung
Indexberechnung
Mailing-Liste
Überlagerung <Mathematik>
Physikalisches System
Binder <Informatik>
Konfiguration <Informatik>
Entscheidungstheorie
Teilmenge
Datenfeld
Rechter Winkel
Festspeicher
Computerarchitektur
Message-Passing
Verkehrsinformation
Brennen <Datenverarbeitung>
Instantiierung
Sinusfunktion
Softwaretest
Bit
Subtraktion
Gebäude <Mathematik>
Ausgleichsrechnung
Erschütterung
Code
Computeranimation
Richtung
Rechenschieber
Softwaretest
Wechselsprung
Rechter Winkel
Prozess <Informatik>
CIM
Gerade

Metadaten

Formale Metadaten

Titel Static analysis, test coverage, and other 12+ letter words
Untertitel A tour of ways to find and prevent bugs in PostgreSQL
Serientitel PGCon 2014
Anzahl der Teile 31
Autor Eisentraut, Peter
Mitwirkende Crunchy Data Solutions (Support)
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/19095
Herausgeber PGCon - PostgreSQL Conference for Users and Developers, Andrea Ross
Erscheinungsjahr 2014
Sprache Englisch
Produktionsort Ottawa, Canada

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract It is hard to maintain complex C code free of bugs. Numerous tools have been developed to help, and we have thrown many of them at the PostgreSQL source code. We will take a look at tools such as Coverity Clang scan-build AddressSanitizer Valgrind Gcov How do they work? How should their results be interpreted? What have they and have they not delivered for us in practice? How can we integrate them into our workflow going forward? How can we structure our code better to work with tools like these?

Ähnliche Filme

Loading...