<?xml version="1.0" encoding="utf-8"?>
<data>
<r t="10.33">so hi everyone</r>
<r t="12.85">i'm here to talk to be about clay of you have and you know it</r>
<r t="17.57">may look at be unrelated thought you guys are going to see the collection later</r>
<r t="22.11">that</r>
<r t="23.12">so my patient here is tricks plan to be about what's lda and what we</r>
<r t="29.31">what the first of all better technologies about</r>
<r t="32.71">and i hope of my patient he's not to get you into compilers because</r>
<r t="37.77">we just had lunch and you guys may fall asleep well talking about like the</r>
<r t="41.27">level stuff i don't know people usually don't the like very much to go each</r>
<r t="45.68">of those details so i'm trying to be as much as possible in some sort</r>
<r t="51.24">of a high level abstractions so you guys can just you how clinging all of</r>
<r t="54.8">it works and that's the jitter janeiro i you don't want to best you guys</r>
<r t="59.32">how it works</r>
<r t="62.9">so first of all what tell you know</r>
<r t="66.25">so i'll here is the name of the whole a whole wired infrastructure which is</r>
<r t="70.95">composed by the front end and i are and</r>
<r t="76.25">several tools to the meeting i think we call for back a</r>
<r t="80.67">it has a similar it is the same very has that you anything side</r>
<r t="85.62">and we call the whole framework alvin but ldm is also the name of the</r>
<r t="91.98">I R level of this compiler</r>
<r t="95.52">and it's also the name we give to the bit school which is actually the</r>
<r t="99.43">same as a byte code but in the elephant word we world we call it</r>
<r t="104.42">a bit school</r>
<r t="106.64">so with all the M you can drive like static compilation just as you know</r>
<r t="111.01">the U C so for example you can a regular com one line that one</r>
<r t="116.6">will be using D C you can you should the same what would like but</r>
<r t="119.72">just replace tecc bike lane and it should you use the same results</r>
<r t="126.51">so for example of for a C source code</r>
<r t="130.26">you passes through playing and you can it meets that direct executables because it has</r>
<r t="136.33">an internal simpler board can also emit regulars simplifies in you can pass can pass</r>
<r t="141.57">it through to be know choose and have your regular object files for your actor</r>
<r t="147.92">besides that you can use it as some amount of the couple tools so for</r>
<r t="154.35">example you can people know for the C code you just going should be L</r>
<r t="158.92">V M I R which you like to do before we call it call and</r>
<r t="163.48">from the bit code you can do several different types of manipulations you can run</r>
<r t="167.99">optimizations only but only be a scroll you can it be a simplify is you</r>
<r t="172.74">can emit object files</r>
<r t="175.21">you can link bit go together is you have all sorts of operations you can</r>
<r t="178.95">do on the L V M I R</r>
<r t="182.37">so</r>
<r t="184.06">in the example well we generated for example i are using the claim and then</r>
<r t="189.23">we can run several different optimizations and pass it to L C to which is</r>
<r t="194.33">that do we used to emit i simply an object files</r>
<r t="198.55">so</r>
<r t="200.02">every part in a lot of em have a library so you have like specific</r>
<r t="204.7">tools which you specific libraries and this way you can now only use whatever you</r>
<r t="210.19">want you can she beat called for example and then you can compile it to</r>
<r t="214.98">your some backtracked or the way you want using optimizations you want so it's good</r>
<r t="220.57">"'cause" you can do several tricks by decoupling the compiler parts</r>
<r t="227.7">so like you sylvia</r>
<r t="230.05">first of all it's open source</r>
<r t="232.85">and as i believe i think it's good you know it's good because we can</r>
<r t="238.66">have several options it's not here about being better dingy see it's just a different</r>
<r t="244.18">option it has different features and different interesting problems it solves that it makes a</r>
<r t="250.84">good choice to use</r>
<r t="252.73">so it's just about one more option</r>
<r t="255.18">that can be used to they have a lot several different stuff using the opencal</r>
<r t="260.21">by</r>
<r t="261.06">so it's easy it's quite easy to get stuff inside tell em if you need</r>
<r t="266.39">to tweak the compiler in it's not a stick a very steep learning curve it's</r>
<r t="271.46">easy to use it as a library to contribute to the project in the communities</r>
<r t="275.27">very receptive to newcomers so</r>
<r t="278.52">it's quite exciting to be contributing to all the</r>
<r t="282.73">so decide that since we have several different the compilers the composites ever different faces</r>
<r t="288.72">and libraries</r>
<r t="289.93">it's you can do optimizations in all phases of the compiler so as you see</r>
<r t="296.05">those you can you can compilation during compiled it i'm just running a regular optimizations</r>
<r t="301.92">in the I R you can do it only time just running because together all</r>
<r t="307.16">i'll tell more about that later indicated will run time has support for profiling so</r>
<r t="312.28">you can the profiling oriented optimization</r>
<r t="315.46">and besides that there's like a tons of and i think that's is in transformation</r>
<r t="319.97">spaces with will label is the bit going to several different ways and make it</r>
<r t="324.08">suitable for whatever type of optimizations someone wants to play with</r>
<r t="330.65">so decide that the clay from can solve the end which is also the name</r>
<r t="336.72">for the for the driver it has lots of libraries implementing tools to automatically find</r>
<r t="345.23">bugs and stuff like that so besides using it as a compiler you can use</r>
<r t="349.64">it</r>
<r t="350.97">as tools to check for the correctness of your code i'm giving more examples about</r>
<r t="355.63">that a bit later in the top</r>
<r t="358.42">so just be more specific about that also you can actually understand a bit of</r>
<r t="363.6">the idea</r>
<r t="365.77">so it's written in C plus i know</r>
<r t="370.19">people may like C plus but</r>
<r t="373.27">for L V M it's a quite good language should have a lot the compiler</r>
<r t="378.26">and using the abstractions and everything like that as i told you before it's really</r>
<r t="384.21">you can you have several different libraries and can use the library's in the way</r>
<r t="389.04">you want to use them</r>
<r t="391.08">and i already told about this</r>
<r t="394.63">so the front end is basically you can use a front end which is this</r>
<r t="399.1">is team based</r>
<r t="400.41">with the with the new support for not quite new but with the addition of</r>
<r t="406.16">logan supporting tecc you can usually this is see to generate lda my are and</r>
<r t="411">then use the regular libraries and tools well from ldm to actually generate object code</r>
<r t="418.63">or executable code so you can actually use D C shouldn't today of in my</r>
<r t="422.84">are in make good use of both optimizations of this is from this is you</r>
<r t="427.77">not relations from L V M</r>
<r t="429.96">so it the plugging this called recognise then you can just run it through D</r>
<r t="433.71">C</r>
<r t="435.03">and you get all the my are in didn't can just use regular ldm tools</r>
<r t="439.93">so but besides that we have the plane compiler which is also but to this</r>
<r t="444.12">library approach</r>
<r t="447.24">it's gonna because since the design is a bit watering you don't have like to</r>
<r t="451.79">struggle with generating possible partners is everything dynamic if you want to generate binaries forearm</r>
<r t="457.55">for example you just need to best the right the right not in the command</r>
<r t="462.87">line and you get like and i'm binary you don't have to</r>
<r t="466.3">of course we need to have like our libraries and all that the older change</r>
<r t="471.78">support around it but if you if you have it it's just a matter of</r>
<r t="476.83">changing than all which are actually want to generate code for</r>
<r t="480.67">so it this is it would think about like the very decompose it live approach</r>
<r t="487.12">of L V M</r>
<r t="489">decide that</r>
<r t="490.89">elvis also for it meeting goodbye acknowledges of water cold so well especially when you're</r>
<r t="497.06">programming C plus in your messages templates and i think is when things get really</r>
<r t="502.37">dirty</r>
<r t="504.95">i will i rather use going to school while stuff in C plus then using</r>
<r t="510.02">D C when i want to understand a bit better of what's happening with really</r>
<r t="515.75">deep compilation everything stuff</r>
<r t="518.35">because it really provides agnostics and you can holding the three up and see whatever</r>
<r t="524.39">your marker is a screen up stuff or whatever your complete is expanding in weird</r>
<r t="529.73">ways</r>
<r t="531.2">and besides that it also have a static analyser</r>
<r t="534.54">which is really good choose to check up on the correctness of circled to helping</r>
<r t="540.1">automatically finding bugs</r>
<r t="542.71">so all he static analyser be</r>
<r t="547.41">in the</r>
<r t="548.74">in the end of the talk</r>
<r t="550.34">sites that's like i told you before the optimizations yelled game to have like since</r>
<r t="556.43">we have a positions in the whole lifetime of the compiler we can apply appositions</r>
<r t="561.23">should the I R which is the most obvious place to put the opposition's because</r>
<r t="565.88">we don't have to write musicians a specific to a target or specific drawback and</r>
<r t="570.77">so every optimizations that it it's targeting dependent we can place here so for example</r>
<r t="576.72">if we want if you wanna have some sort of a generic vehicle that we</r>
<r t="582.53">can for assortment more specific architecture be goal we can apply optimizations here and leave</r>
<r t="589.45">it there are just so when we're a beating for certain target we can</r>
<r t="594.8">apply several different musicians like for example you can apply appositions for vectorisation for X</r>
<r t="602.04">eighty six for example</r>
<r t="604.07">and then whenever you have the big gold on your C P U if you're</r>
<r t="607.36">see if you only have sse it can and we have to see that maybe</r>
<r t="611.12">X you can use more stuff to reason about side of vectors and we ate</r>
<r t="615.12">a vax properly</r>
<r t="619.25">sites that we have the L C to which is the tool of responsible for</r>
<r t="623.51">actually a invoking be back-ends it has it uses the I R and think boot</r>
<r t="630.03">and it outputs a saintly files or object files the element has it has both</r>
<r t="637.23">it has to should to both assemble and disassemble cool and we also have a</r>
<r t="641.71">parser so for example when you're writing see cool then you use a line call</r>
<r t="647.11">it actually involved the same parser to parse the line as it in can reason</r>
<r t="651.84">about the assembly code you wrote inside the C code and give your proper diagnostics</r>
<r t="658">and are actually you can write optimizations that will just change instructions inside the i'd</r>
<r t="663.81">like or just reasonable constraints that you were that you didn't</r>
<r t="668.63">you were you couldn't reason about because the code was complex you can also reasons</r>
<r t="674.15">id a line you do proper feedback</r>
<r t="679.06">so you can also you can also use a simplify wasn't as input and generate</r>
<r t="684.21">object files and delete them together you can you can play around in the way</r>
<r t="687.98">you want</r>
<r t="691.63">so all that we have that we are well so have that you'd compiler a</r>
<r t="695.88">difficult father's side that supportive for several we are factors</r>
<r t="700.68">and we have the T L T O which is use it to really be</r>
<r t="704.04">goals together</r>
<r t="706.46">and like i told you guys we have a similar in this is samplers and</r>
<r t="710.81">several different tools to play with object code and mess around with the low level</r>
<r t="715.47">stuff</r>
<r t="717.15">so how does that relate to you norm at all</r>
<r t="720.95">so that's what i like to introduce and give you how can get all can</r>
<r t="727.09">benefit from can you know V M how can start using it to i don't</r>
<r t="731.22">know we proving in several different ways because there are lots of to all their</r>
<r t="736.26">a lot of those you know them that can be used in get on to</r>
<r t="739.44">improve development and stuff</r>
<r t="742.69">so first of all gonna more and he was this L of them incline libraries</r>
<r t="747.33">it some projects</r>
<r t="748.76">i don't know much if there are more than to products using it but ones</r>
<r t="753.39">are the ones that i look it up and i found that using like of</r>
<r t="756.65">them five which i was already aware of that and we have the developer over</r>
<r t="761.45">there someone what stop with him</r>
<r t="764.16">which is actually a softer in their</r>
<r t="768.55">using L V M whenever you don't have like a specific you to the graphics</r>
<r t="773.99">it can fall back to using whatever your C P U has to process that</r>
<r t="779.09">and it's a good fallback</r>
<r t="782.99">besides that i saw that there's a plug in called you did go to system</r>
<r t="787.46">that was that will use going to just give hints to do should someone of</r>
<r t="793.8">programming stuff and giving like whoever's during the program like a V C idea I</r>
<r t="799.99">Ds do</r>
<r t="803.04">it seems you know it was like an umbrella for several projects</r>
<r t="808.56">i was i was i was playing around to see i was playing around with</r>
<r t="814.35">the in the deep repositories</r>
<r t="816.65">and with the an on tools and i step into the jhu and always three</r>
<r t="822.89">in all the you bought stuff that it it's meant to be supported and i</r>
<r t="828.07">think like why not they can use the static analyser for example or just you</r>
<r t="834.47">the whole called bayes using clay in see what type of differences it can make</r>
<r t="839.37">in the in the final executables it may be that for some by there is</r>
<r t="844.42">would be slower than you see but for someone will be better i don't know</r>
<r t="848.2">it's just something that i think it should be given that right</r>
<r t="852.8">so i think for example jhu to noise three can benefit from trying to use</r>
<r t="857.56">cling</r>
<r t="859.32">so other stuff that i think that big you know project can benefit from out</r>
<r t="864.05">from ldm sport we are back in for example for running at you know three</r>
<r t="869.67">own on a nexus seven it will be a good try to go by using</r>
<r t="873.5">playing</r>
<r t="874.53">besides that using elevator bell till choose to have like smaller binary final binaries which</r>
<r t="880.44">will explain a static analyser in some tool that you can dynamically explore several different</r>
<r t="887.12">types of bugs like the address and the members any tight</r>
<r t="891.26">so you're back in a all of them has a very</r>
<r t="894.89">i stable are back and which emits really good quality code it's easy it apple</r>
<r t="901.35">uses it for a compiling now us implications in the X gold you can excellent</r>
<r t="906.62">is all these and claim and uses they are back and to generate go for</r>
<r t="910.25">them so it's pretty stable it's pretty optimised</r>
<r t="914.28">and i it also supports the most recent processors of all the army seven of</r>
<r t="920.03">family of arm processors</r>
<r t="923.08">and</r>
<r t="924.7">besides that for example of them by would use the are back antigen you already</r>
<r t="931.77">does if you want to generate article but you could it could be for example</r>
<r t="936.37">more optimised so if you think in the case that if you want for example</r>
<r t="940.04">to have been on running on our devices with all the specific gpus for example</r>
<r t="946.7">we would use a just regular vector restrictions from the are instruction set like neon</r>
<r t="952.25">to generate that gold in a better called in actually has a good fallback for</r>
<r t="957.35">soft a rating for example</r>
<r t="962.13">i'm not i think is the all the melody in a regular compiler when you're</r>
<r t="966.38">linking stuff usually come from sickle we generate object goals for each different source you</r>
<r t="973.33">have and then in the end your link all of them together or you really</r>
<r t="977.05">on the from actually and then put it on the final executable later that's</r>
<r t="981.68">that that's how easily a compiler full works</r>
<r t="985.09">but with all the and the</r>
<r t="987.94">and the beats code</r>
<r t="990.54">representation what okay the ways that you can force it me to be it's colds</r>
<r t="995.93">just invoking calling in and asking it all don't in the old radicals you directly</r>
<r t="1001.14">just can be bit codes</r>
<r t="1003.17">after that you can mix albeit chords together</r>
<r t="1007.82">and have a final module that final module you can actually apply several different types</r>
<r t="1014.25">of oppositions like to go to before including link time up musicians so you so</r>
<r t="1018.49">you can remove several functions that are not being used inside that model because it</r>
<r t="1022.6">can reasons use everything kids inside there so you can use liking triple sitters stuff</r>
<r t="1027.6">what mutations in</r>
<r t="1029.29">actually can a lot of stuff do we did and then you just invoke the</r>
<r t="1032.41">backend for the final module and you have your final executable so this sort of</r>
<r t="1037.53">like opening the couple reasoning in the compiler</r>
<r t="1042.29">not use of is actually we use pretty good code so i think probably some</r>
<r t="1048.39">project singing on can</r>
<r t="1051.32">just we can a bit of the makefiles to just an array of vehicles for</r>
<r t="1056.04">instead of object files and then the ring linking link always goes together apply link</r>
<r t="1062.4">time optimizations i don't know it maybe can benefits lots of projects i would give</r>
<r t="1067.68">it a try</r>
<r t="1070.61">so they stack analyser it's basically</r>
<r t="1075.04">a source code processing to based on playing that will try to reason about your</r>
<r t="1079.56">code and give you information about if you have one in your old what's our</r>
<r t="1084.33">alternative like not only but you stuff that you could have not done in the</r>
<r t="1089.1">call that will improve it or just remove use this is stuff that you're doing</r>
<r t="1093.09">up role so it's really good because</r>
<r t="1096.27">it actually conceded time debugging later could it can catch all sorts of but it's</r>
<r t="1101.26">not perfect but it helps a lot</r>
<r t="1104.88">so and you can also all to you can also do it use it for</r>
<r t="1109.95">all</r>
<r t="1110.97">the some sort of all but i think that</r>
<r t="1115.33">although much as they should you has you can do to use that and that's</r>
<r t="1119.08">why i think it's good to put it in stuff like you bought because whenever</r>
<r t="1124.66">you already have should you the whole three of you projects at the same time</r>
<r t="1129.44">you can just do it using they static analyser images</r>
<r t="1134.41">have a bunch of information of every project yours you're compiling and you can use</r>
<r t="1139.38">that to somehow track regressions just see if some sort of a critical bugs are</r>
<r t="1147.19">not happening between one revision another are at least before releasing stables a stable releases</r>
<r t="1154.24">you can run them and see if there's nothing critical be released to the public</r>
<r t="1164.17">since it's library basic is just a matter of</r>
<r t="1169.87">importing use actually use the library any let major on that</r>
<r t="1187.16">you have the</r>
<r t="1189.11">so i wanted to make a plug and write checks us you're passing the correct</r>
<r t="1193.25">i call back okay you are it's</r>
<r t="1195.87">how difficult would it be</r>
<r t="1199.17">i can tell you for sure like</r>
<r t="1204.03">it will be much difficult because already have all of those you have already have</r>
<r t="1209.09">analysis that will all come to it's three years three yes the trees</r>
<r t="1214.84">so you could probably use call that is already there to do whatever you want</r>
<r t="1218.34">a specific</r>
<r t="1220.52">you know so it shouldn't be difficult because i have a framework for doing that</r>
<r t="1224.74">it's already there</r>
<r t="1227.02">i don't i can tell you exactly how to do it</r>
<r t="1230.07">but</r>
<r t="1232.34">it it's not difficult</r>
<r t="1242.46">i think right now you actually have to com pilot i i'm not sure if</r>
<r t="1247.45">it if</r>
<r t="1248.58">we have like this leave claim his stuff and we have like that the light</r>
<r t="1251.94">stuff that you can actually write logins but for example for the specific type of</r>
<r t="1256.33">plugging that you that you may like to right i don't know which is going</r>
<r t="1260.98">to be the best place to implement a you know going to have like several</r>
<r t="1265.13">blank we have right now three places that you can who came and implement analysis</r>
<r t="1270.94">so some stuff you can just invoke your dynamic compiler analysis and we just best</r>
<r t="1276.3">way but for some other stuff to have to hack into the compiler to do</r>
<r t="1279.91">it</r>
<r t="1281.19">that's what i'm saying just you can have several who points</r>
<r t="1284.73">but not all not all of them you can just</r>
<r t="1287.91">best looking as a parameter</r>
<r t="1292.95">it could be</r>
<r t="1294.5">i don't know we can you can see that later after the top</r>
<r t="1298.11">right</r>
<r t="1300.19">but we have like several different</r>
<r t="1303.59">interface is that we can plug in allows incline</r>
<r t="1309.29">so this that equaliser also helps with improving called quality seashore there like</r>
<r t="1315.38">having the a direct feedback of what sort of mistakes are doing their cool it</r>
<r t="1320.07">also has false positives because it's not a perfect also sometimes it will say that</r>
<r t="1325.12">it</r>
<r t="1326.81">it looks like it has a but it's a it is not the problem is</r>
<r t="1332.22">that the compiler is just not smart enough to see that you already checked something</r>
<r t="1337.54">before in section default one but in general we it works when you can also</r>
<r t="1341.95">report bugs in telephone this sort these improve this</r>
<r t="1347.28">or send a pitcher self improvement</r>
<r t="1349.74">and of course the compilation is a lot slower using the static analyser but you</r>
<r t="1355.18">shouldn't be using it to produce like of production code it was like do those</r>
<r t="1359.87">separate compilations so you can see your analysis</r>
<r t="1363.7">and on impact on your billboard time and stuff like that</r>
<r t="1368.52">so tuesday static analysers three simple once you have blinks at all well you have</r>
<r t="1373.08">like package for going to i don't know about fedora but or you haven't it</r>
<r t="1377.58">ship the second you tool and based can you tool just you just that said</r>
<r t="1382.79">before called here and before make it will cup and just hijacking them you know</r>
<r t="1388.32">and make it use clank tools instead of the regular compilers and i'm not is</r>
<r t="1393.43">your code and then we'll just emits several each stay all male reports telling you</r>
<r t="1399.27">about all sort of different bugs</r>
<r t="1402.69">so i analyse a few of you know projects from the dog you know on</r>
<r t="1407.97">but hard to see how they would react fifty static analyser and what sort of</r>
<r t="1414.06">but we could we could find so i just put it on the web and</r>
<r t="1420.07">i have done for just a few that i was seeing people talking about you</r>
<r t="1425.07">know other talks and i chose a few projects just to show we will be</r>
<r t="1428.91">how does it works</r>
<r t="1430.91">so</r>
<r t="1432.31">for example i put it on blade see how the source code of we use</r>
<r t="1437.25">regarding the buttons and but at least bugs that this data can alike and five</r>
<r t="1442.8">and i found that it's very clean you don't hide it feel like average like</r>
<r t="1446.54">a few that for is of no pointers some money on the on the cal</r>
<r t="1450.88">i argument that is but it's</r>
<r t="1454.32">i find it very clean compared to other projects i've run into</r>
<r t="1459.27">so you can have an idea for example</r>
<r t="1462.66">that's part is actually not a problem but it's just something that you could avoid</r>
<r t="1466.95">so you could have like a</r>
<r t="1470.7">and a bit is a bit smarter code and bit faster code and it keep</r>
<r t="1474.75">track self that's all</r>
<r t="1476.73">what's you see this is like a next email report and</r>
<r t="1480.7">you can click on that several different that assigned a minutes you can if you</r>
<r t="1485.16">go there you can you can actually if you can on the link you can</r>
<r t="1489.38">actually see the full report and just go around and see the types of whatever</r>
<r t="1495.04">so for example for a random that assignment in late it will just show you</r>
<r t="1500.26">all the variables are sleaze</r>
<r t="1503.04">is never read after this attribution so there is there is no point in just</r>
<r t="1509.23">doing this you can just remove this code and probably make your code a bit</r>
<r t="1513.73">faster</r>
<r t="1514.69">it can actually sometimes be a false positive because sometimes you may never it may</r>
<r t="1519.9">not perfectly reasonable what the function is returning but it generally works really well</r>
<r t="1526.39">so that's one of the example for late</r>
<r t="1529.44">i also relative to G streamers should be streamer and that's for this is interesting</r>
<r t="1535.36">because of all the of all the projects i run into that you streamer and</r>
<r t="1541.22">the give to get i mean you think a was one that have like division</r>
<r t="1546.42">by zero so i found like seven divisible by zero in G stream or so</r>
<r t="1550.78">if you want to see the report to see how it generates how we it</r>
<r t="1554.89">shows you the bug</r>
<r t="1556.91">it's very cool because for example if you show they steps</r>
<r t="1561.49">and it show you reach break it to choose getting to that point and reach</r>
<r t="1566.57">sort of condition it assume to take the break so for example in this case</r>
<r t="1573.44">it will select the first hearing dysfunction it can see that the base that</r>
<r t="1579.73">because of the limitation of the function you can also click on that and see</r>
<r t="1583.82">the implementation of the function it's a base that may be zero</r>
<r t="1588.7">and if you follow the cold assuming for example that's all is a greater equal</r>
<r t="1595.2">then me that will could yell the a division by zero in your code role</r>
<r t="1601.48">so it's good to find all simple stuff that sometimes just you like really weird</r>
<r t="1606.34">bugs in the little what's happening</r>
<r t="1610.41">so i also minutes for the evolution data server</r>
<r t="1614.31">because they stack analyser can also sure we were sick of problems that it considered</r>
<r t="1620.26">like a security issues so for example</r>
<r t="1623.77">here we have this are you sure with the safety you idea so i was</r>
<r t="1629.25">like well so this is evolution data server you have like the</r>
<r t="1632.97">a security issue with the a very important function that mainly true</r>
<r t="1638.32">reflects collation so i just went there</r>
<r t="1641.37">just see what was happening but if you could be able to say that this</r>
<r t="1645.15">at E Y D is just should before they actually set you might be that's</r>
<r t="1649.62">considered dangerous so this is actually a false positive because you already look it before</r>
<r t="1655.97">so you were you were calling it again without checking what it retards because we're</r>
<r t="1661.21">ready check before what was returned</r>
<r t="1666.47">so and i also run into should be okay to see how much average you</r>
<r t="1672.18">will be your then actually that was a bunch of them</r>
<r t="1675.53">and they're probably can be more if it if they static analyser can be told</r>
<r t="1679.47">to reason about some constructs of but kitty because it has it uses like really</r>
<r t="1685.36">you mohawk and stuff like that</r>
<r t="1687.87">so but it's just good to find simple and</r>
<r t="1692.34">it just straightforward stuff so</r>
<r t="1696.18">can dispatch quickly</r>
<r t="1699.55">so this is the your model we have like</r>
<r t="1702.34">thirty three for</r>
<r t="1704.44">but i've but lot of them are actually really bugs just the logic at first</r>
<r t="1710.88">probably security issues</r>
<r t="1718.78">do to another computer user and i mean</r>
<r t="1722.91">just to analyser</r>
<r t="1724.6">i don't know i look it up i found some people that running to right</r>
<r t="1728.77">running on V but i didn't see the output</r>
<r t="1732.21">also decaf all some blocks same but people or not like just display there i</r>
<r t="1740.39">mean the book another graphical computes</r>
<r t="1743.18">like you to your you know all i don't know i don't look at i</r>
<r t="1747.75">think it if L at least the developers i know from yourself here fell there</r>
<r t="1752.74">quite they like link in and they use it in their products but i don't</r>
<r t="1757.06">think i don't know if they use it like on your box</r>
<r t="1760.14">and stuff like that</r>
<r t="1761.71">okay</r>
<r t="1765.6">so i think we have the descent advisors</r>
<r t="1771.18">this any factors are actually</r>
<r t="1775.18">for relative also have it on T C is just actually you can reason about</r>
<r t="1780.07">memory access and this that's regarding addresses</r>
<r t="1785.04">in the rerun time it's not a it's not i'm ecstatic cannot is anymore but</r>
<r t="1789.91">it's the libraries that you can link together with circle that will work just a</r>
<r t="1794.9">bit like alright for example and will do you like dynamic found it works</r>
<r t="1800.48">so for example D we have the senate by there</r>
<r t="1804.33">which basically checks for out of a lexus in any type of memory and also</r>
<r t="1811.71">for comments for you have verse</r>
<r t="1814.16">the those types of ever may not be sometimes on might be static analyser so</r>
<r t="1819.66">this limitation on using the like dynamically can you better results so i didn't have</r>
<r t="1827.11">like enough time to run to the all those products like a did misplaced i</r>
<r t="1830.66">can a lighter but i relatively and you it and i couldn't find maybe</r>
<r t="1837.26">runtime errors made i didn't explored those problems and of because i don't know like</r>
<r t="1843.1">the corner cases that would you like can try can probably reach strange golden but</r>
<r t="1850.4">they look at it around did and the them exploded anything</r>
<r t="1854.68">and we also have the members and it either</r>
<r t="1857.43">which is like a just a this is more like o'brien actually a you will</r>
<r t="1861.48">the tech on the july reads</r>
<r t="1864.27">all those tools it will have like a it is lower your go down because</r>
<r t="1868.55">it have like a runtime library in reasonable your code and everything and i just</r>
<r t="1873.35">used a G a huge to for a few products in trying to link using</r>
<r t="1880.8">the absolute bicycles memory it will break</r>
<r t="1885.25">it make just running regular make after you compile the final executable it will just</r>
<r t="1892.14">run a few tests and will just like explode because actually has and one of</r>
<r t="1898.08">a naturalised reads and we'll just i couldn't even like while using the G H</r>
<r t="1904.29">B O because it was some underlies everything in G D so it it's probably</r>
<r t="1910.72">worth taking a look to see if it's</r>
<r t="1913.36">some sort of false positive i don't know i don't believe but</r>
<r t="1917.97">just see what happens in if it's can prove</r>
<r t="1923.05">but that's it is</r>
<r t="1926.16">questions</r>
<r t="1936.91">i just got and analyse it detect a situation where you have in you know</r>
<r t="1942.77">sickle and the</r>
<r t="1946.67">condition that is just one is never modified inside</r>
<r t="1951.16">and that's and those detect and this that happens because for example or whatever and</r>
<r t="1957.44">then forget to assign and it's in the variables mentions</r>
<r t="1961.99">condition</r>
<r t="1963.47">sorry i put your repeat is again like within your everything</r>
<r t="1967.73">so suppose you have a why do you new sequel</r>
<r t="1972.47">it's a for example checks that one bearable is greater than another in</r>
<r t="1981.24">in the and then in the body all that will you'll forget to assign and</r>
<r t="1988.45">use into any of those variables so if it is true initially it will it</r>
<r t="1993.52">will for ever and little we'll just for a little and you also their static</r>
<r t="1998.89">analysing cash such things like for the most simple case can tell you that will</r>
<r t="2005.57">probably run for ever something like if it's a simple case can to i can</r>
<r t="2010.2">i think you can probably write code to try to break it and you know</r>
<r t="2014.77">you can probably put some weird if we gave that we couldn't figure out that</r>
<r t="2019.17">part of people</r>
<r t="2021.97">it will get more</r>
<r t="2033.07">so i just have to make this comment opponent quite funny that you had to</r>
<r t="2038.23">excuse the use of C plus</r>
<r t="2041.14">at the beginning of your talk in this crowd</r>
<r t="2043.88">because when you don't look at it into your results</r>
<r t="2047.96">that it looks like to type of the more macro expansions that are not doing</r>
<r t="2052.31">proper type checking because of programming against you'll it using C</r>
<r t="2057.64">and it's this program was done in C plus it would probably be type checked</r>
<r t="2061.99">and users would not be occurring</r>
<r t="2065.07">so just to come</r>
<r t="2072.71">i guess this is more of sort of administrative issue but i actually found a</r>
<r t="2076.47">bug in the clang static an analyser</r>
<r t="2080.95">and i reported it and you very annoying thing is it seems that L B</r>
<r t="2084.25">M or clang are driven by apple so i just got this mysterious link saying</r>
<r t="2089.21">clone to the internal apple about tracker and as far as i know it's still</r>
<r t="2092.96">open with an unresolved status i'm curious if like there's plans about getting it sort</r>
<r t="2099.61">of away from the apple infrastructure "'cause" it's disappointing that work that gonna report about</r>
<r t="2104.52">there's just this unknown apple what track at that i have no idea what's going</r>
<r t="2107.65">on internally about so i don't really how much capital controls all the M or</r>
<r t="2114">if you could give some words on that</r>
<r t="2117.45">is as a matter of fact i just</r>
<r t="2121.11">one fact is that almost part of the developers i hard by and also</r>
<r t="2125.62">there probably do whatever it's probably easier for them to track i don't know i</r>
<r t="2131.02">don't have anything i don't know</r>
<r t="2149.46">i think a for the goal for a nice</r>
<r t="2152.38">i want to us</r>
<r t="2154.86">i know that it's not really three will to do like C equals ceiling</r>
<r t="2161.96">for G C and</r>
<r t="2163.99">you know will build or called with ceiling can not with G C do have</r>
<r t="2168.65">a tool to help developers with the stuff</r>
<r t="2172.37">i couldn't understand it can you okay so we can imagine you have your call</r>
<r t="2177.77">or project and you are using G C and right now we want to ceiling</r>
<r t="2182.62">for as the compiler</r>
<r t="2184.29">and i know it's not really trivial to do this change you have a tool</r>
<r t="2189.11">to help developers with this</r>
<r t="2191.83">well i actually clay try to support most part of what this is he does</r>
<r t="2197.01">including the command line so you should expect that just changing the G C driver</r>
<r t="2203.24">for the clean driver it will work it may not what it works for most</r>
<r t="2208.8">part of the case a lesser implementing some just like if your problem we are</r>
<r t="2212.79">using not just a weird you know like station that a lot of the end</r>
<r t="2215.8">is likely is playing split it's a it's not going to support then you may</r>
<r t="2220.14">run into problems but regarding compiler flags it try to support everything that this is</r>
<r t="2226.77">you support just job to make sure that it that you can just be a</r>
<r t="2232.03">in place you can just replace in and it should work</r>
<r t="2236.47">that that's how we think that it should be</r>
<r t="2240.55">okay because i know that some constant whether or not to build whole districts you</r>
<r t="2246.22">link and</r>
<r t="2247.73">to do some</r>
<r t="2249.14">real hacks to make it happen to like i don't know like fifty percent of</r>
<r t="2253.94">pictures build them</r>
<r t="2255.86">so i just want to us okay it just like i told you maybe there</r>
<r t="2260.3">are some X stations in the cold that clank doesn't support but like regarding just</r>
<r t="2264.98">the compiler flags most part of them are supported or at least ignored if they</r>
<r t="2269.63">don't make sense in how internally ldm the stuff so you couldn't just like have</r>
<r t="2275.75">your compilation broken because some specific this is see flag is not there you know</r>
<r t="2283.95">in inside</r>
<r t="2285.44">okay</r>
<r t="2286.98">regarding statistical analyses and to ask this run on our cool or on actual some</r>
<r t="2293.72">school</r>
<r t="2295.21">sorry</r>
<r t="2296.71">still to come once is this wrong i hope</r>
<r t="2300.96">or not it's before it's on the C I C is form and during the</r>
<r t="2305.16">problem</r>
<r t="2307.08">so it's got like in the I R you already lost much information and a</r>
<r t="2311.37">lot more difficult to reason about</r>
<r t="2314.15">so it's be up there</r>
<r t="2316.51">it's before okay thanks</r>
<r t="2321.4">i first thought licensee</r>
<r t="2324.26">but</r>
<r t="2325.94">so though the playing like the C library accessing it gives you act</r>
<r t="2329.83">as the C N X and everything i found it incredibly restricting compared to what</r>
<r t="2334.19">you get from the traditional C plus</r>
<r t="2336.49">libraries</r>
<r t="2337.9">is there one like any work being done to enable</r>
<r t="2342.15">that stuff</r>
<r t="2343.61">and is it going to</r>
<r t="2346.32">be a little bit more convenient is like right now if i wanna get a</r>
<r t="2349.01">string for token and</r>
<r t="2351.68">i get like a see a string and i have to go and get a</r>
<r t="2354.19">C string from that</r>
<r t="2355.59">is it it's a really inconvenient see</r>
<r t="2359.05">i heard about a lot of complaints about that but</r>
<r t="2363.19">any it's also because it changes a lot right so i don't have any pi</r>
<r t="2368.22">that they're trying to be you know</r>
<r t="2370.34">so that's really i'm sure that if someone just i'd like is</r>
<r t="2376.33">just a proposal will written one probably they may consider it because</r>
<r t="2381.87">it's something that it's far</r>
<r t="2384.29">interest lot of people right but i have seen all works in that direction</r>
<r t="2389.21">nazi not they don't existed but at least i'm not aware of it but i</r>
<r t="2393.45">know it's a should like i see people complaining about that for several years now</r>
<r t="2397.88">so if we're going to start to learn you know around playing in terms of</r>
<r t="2402.3">like building you know static analysers encode checkers</r>
<r t="2405.7">would it even less to instead try to wrap the C plus libraries in the</r>
<r t="2410.74">G object</r>
<r t="2412.05">because it is really inconvenient after a all of the C plus</r>
<r t="2415.73">we were mostly C programmers here</r>
<r t="2418.08">i think we'll probably better just should try to spend our lives the somehow ye</r>
<r t="2423.06">pi right like with some maybe a guy thing i don't know i it's probably</r>
<r t="2427.6">easier "'cause" you could just use it directly see that all</r>
<r t="2431.11">writing it around and it is not just like receiver suppose busting it's not if</r>
<r t="2434.88">we use G object and wrap that knows and we can use G I R</r>
<r t="2437.97">python and what not to write fairly complex scripts very fast</r>
<r t="2442.8">but i don't know are you guys rapping us you possible stuff and i can</r>
<r t="2446.01">already</r>
<r t="2449.21">i could i just don't know like i think they're both way to solve it</r>
<r t="2454.59">i don't know which one is better "'cause" i have a big that place and</r>
<r t="2458.38">love to tell you what i think would be better at i don't use the</r>
<r t="2461.67">it guy myself so</r>
<r t="2463.49">i'm not aware like of all the trouble that it mainly it's too but it's</r>
<r t="2468.4">something that we can we can discuss letter and take a look and i can</r>
<r t="2471.24">give you feedback if i have anything to compensate i guess my comment in mostly</r>
<r t="2475.72">is that</r>
<r t="2476.85">actually maintaining a stable at i</r>
<r t="2480.01">would be huge</r>
<r t="2481.72">of course agree</r>
<r t="2498.85">you just you specifically major there are back in the curious about other non X</r>
<r t="2504.54">eighty six architectures like instant he acts do you know what the status of the</r>
<r t="2508.96">level of support is on that hi don't think it table enough if it has</r>
<r t="2513.23">i don't i the last time i look</r>
<r t="2527.67">hundred or a four</r>
<r t="2529.16">there L in back and still for every architecture that</r>
<r t="2532.75">both fedora and realm support</r>
<r t="2535.44">so</r>
<r t="2536.6">the cabby us there</r>
<r t="2538.51">powerpc thirty two and S three ninety</r>
<r t="2541.7">not us or not</r>
<r t="2543.62">the sixty four bit power industry ninety work</r>
<r t="2546.49">thirty two works</r>
<r t="2547.91">by then</r>
<r t="2548.83">i expect that dorm sixty four stuff work</r>
<r t="2552.09">X eighty six maybe six people</r>
<r t="2555.05">what else is there</r>
<r t="2556.84">it has more back-ends and that actually there's</r>
<r t="2559.76">there's a the backend for our six hundred</r>
<r t="2562.95">and later at and gpus there's a back and forth in called P C X</r>
<r t="2566.66">which is what people are using</r>
<r t="2568.61">sort of common i are</r>
<r t="2570.38">opencl</r>
<r t="2572">and a couple of other architectures we don't have to work</r>
<r t="2575.9">or like that</r>
<r t="2576.87">textile and</r>
<r t="2578.18">and then that'd chips</r>
<r t="2580.94">there in varying stages of quality and you find occasionally there's like jen go you</r>
<r t="2585.84">feel serialise this instruction correctly but they really much past</r>
<r t="2591.65">three to three is far more consumable in this respect than three that's you was</r>
<r t="2595.89">three that's it was missing</r>
<r t="2597.03">was missing both idea was a power and see and systems E</r>
<r t="2606.9">and market</r>
<r t="2609.99">you only one of you just to free to talk of that's about ldm and</r>
<r t="2614.37">playing</r>
<r t="2615.57">everything</r>
<r t="2616.98">i think</r>
</data>
