Devreal

Scale By The Bay 2018: Francesc Campoy Flores Interview

Scale By The Bay 2018: Francesc Campoy Flores Interview

Recording: Scale By The Bay 2018: Francesc Campoy Flores Interview

so I am Franciscan poi VP of product and developer relations that sourced which is a company with headquarters in Madrid but I do live here in San Francisco so we're building tooling for large-scale analysis of source code and that sounds pretty boring but it is actually our idea is to add machine learning on top of these analysis which allows us to do predictions and build more intelligent tools if you if you want and that that intelligence comes from training neural networks on huge amounts of source code we have like a data set that we use normally it's around 3 terabytes of source code and then we're able to use those models that we've trained to predict a bunch of different things and we're building an assister code review so it's a little bot that reviews your code before a human gets the chance to actually see it and it's going to detect a bunch of different things like for marrying there's also it's also able to use a bunch of different tools that are not based on machine learning but we also use machine learning to try to predict bugs to correct naming to try to figure out whether two pieces of code are similar enough that they should actually be merge into one all of these different things which are things that human reviewers normally say but math tools do not detect at all so it is hard to choose I'd be in between the data data pipelines and programming in general because what we're doing is learning from programming languages by using huge data pipelines so we can in between both we do a lot of language analysis we do a lot of machine learning but we also do a lot of big data like downloading all of github into our data centers and things like this so it's hard to choose both here we both so I've been sharing best practices around how to analyze source code to do machine learning so when you think about it source code can be seen in many different ways one of them is obviously it's just a file so it's made of bytes so you can learn from those bytes right but then you can also use a scanner and try to learn from the tokens so every single one of the words has more meaning than just a byte separately but also it's a programming language so you can parse it and then have an absolute interest rate so now you can learn from trees but also you can add extra annotations on top and say like what what is defined where semantic references you can add control flow graphs there's a lot of different things that are actually gonna make that tree into now a graph so you're gonna need to learn from graphs and basically I've been discussing a little bit different the different academia research that is around this and how that research can be used to build better tooling for developers [Music] so I mean I've been going around today and trying to see what people are working on on specifically language analysis I think it's it's very interesting because every single language comes with different and different techniques how to parse it and like the type systems are very different and coming to scale by the way I I was expecting to see a lot of functional programming which is quite different to what I normally do I normally do more like go and Python on languages like that and that was actually very interesting like seeing a little bit what people on the dark side of functional programming are working on okay so I have Britton Scala I actually went through a I think it was Coursera or something like that with Marcia Dorsky so that was a very very good class and I really enjoyed it since then I haven't used scholar that much but it was a very good first taste of what functional forum it was and after that I did go on and I learned Haskell and I learned like closure and things like this to try to understand a bit better so even though Scala didn't necessarily change the way a program it actually kind of took me into the path of Haskell which definitely changed a lot of the way I think about programming in general and how do I expect the world to be in 15 years in programming I think that if my company's successful at least like the tooling is gonna be very different right and hopefully we're gonna be able to use machine learning not only to have the tools that allows us to better understand source code but even to design programming languages and I think that that's a very interesting thing right like imagine we're imagine if we were able to find the best problem in language for us that is strict enough that you know it's a problem which is not a natural language but at the same time reduces the amount of not complexity but the amount of boilerplate that we need to write every single foreign language has boilerplate and all of the ways we've design from languages so far was basically by I mean there's research there are some UX studies but it's never the thing that that powers the language is in general there's something else that the language is trying to do so I would like to see that in 15 years maybe see whether machine learning has an impact on how we design primal urges so one of my favorite things is the fact that I actually live in San Francisco so I just walked from home I was like 10 minutes so that's it that was great no but I actually like the fact that I in the time let me hear it they want so I've actually met lots of people that were doing very interesting things right and now necessary speakers but also people in the audience it's a very nice place to to make to make relationships going around talking to people and explain what you do and yeah I've met lots of interesting people I have my pocket full of business cards so that was very very good yeah I'd say yeah people [Music]