QL + LGTM = Declarative Program Analysis for the Masses
QL is an object-oriented dialect of Datalog that is particularly well suited for implementing program analyses in a high-level and declarative fashion. It forms the technical backbone of LGTM, which is Semmle’s engineering analytics platform for analysing projects written in a variety of languages, including C++, C#, Java, JavaScript and Python. LGTM not only provides insight into the current health of a code base by making static analysis alerts available to developers, but also shows how code quality has evolved over time, and how individual team members have contributed to it. In this talk, I will briefly introduce QL, concentrating on the features that make it a great tool for program analysis, and then take you on a tour of lgtm.com, a free instance of LGTM that continuously analyses all commits on over 70,000 open-source projects, and includes an in-browser IDE for writing your own QL queries.
QL + LGTM = Declarative Program Analysis for the Masses.pdf (QL + LGTM = Declarative Program Analysis for the Masses.pdf) | 806KiB |
I am a lead software engineer and engineering manager at Semmle Ltd. in Oxford, UK, where I mostly work on JavaScript analysis. Previously, I was an assistant professor at the School of Computer Engineering of Nanyang Technological University, Singapore; a post-doctoral researcher at IBM T.J. Watson Research Center, New York; and a PhD student at the Department of Computer Science at Oxford University.
Wed 18 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30 | |||
16:00 30mTalk | Horn Clause-based Program Analysis with CiaoPP DPA Manuel Hermenegildo IMDEA Software Institute and T.U. of Madrid (UPM) File Attached | ||
16:30 30mTalk | QL + LGTM = Declarative Program Analysis for the Masses DPA Max Schaefer Semmle File Attached |