The ISSTA 2019 Summer School aims at encouraging graduate students and senior undergraduate students to pursue careers in research on topics related to software testing and analysis.
The summer school is a one-day event, organized as a series of lectures by leading researchers.
It is scheduled for Tuesday, July 16 (the day before the main conference starts).
Call for Participation
The lectures are free to all registered participants. Students will get preferential seating. Applications for participation will be accepted as long as there is space.
Mon 15 Jul
Tue 16 Jul
|09:00 - 10:30|
Abhik RoychoudhuryNational University of Singapore
|11:00 - 12:30|
Yingfei XiongPeking University
|14:00 - 15:30|
Qingwei LinMicrosoft Research, China
|16:00 - 17:30|
Andreas ZellerCISPA Helmholtz Center for Information Security
Wed 17 Jul
Thu 18 Jul
Fri 19 Jul
Speaker: Yingfei Xiong, Peking University
Slides: downloadAbstract: Program synthesis is the task to automatically construct a program that meets a specific goal. It finds many applications such as end-user programming, optimization, and bug fixing. This lecture will introduce the basic concepts, methods, and typical applications for program synthesis, as well as pointers for future learning. This lecture will cover both the classic approaches for synthesizing a program to meet a formal specification, as well as recent approaches that rely statistical models to infer a likely program for an indefinite goal. The content of the lecture will be based on program synthesis lectures in the course "software analysis" taught at Peking University.
Bio: Yingfei Xiong is an associate professor at Peking University. He got his Ph.D. degree from the University of Tokyo in 2009 and worked as a postdoctoral fellow at University of Waterloo between 2009 and 2011. His research interests lie in software engineering and programming language in general, and program analysis, synthesis, and repair in particular. He has proposed theories and techniques for reducing the efforts of writing and changing programs. For example, the repair approach, ACS, is the first one that achieved >70% precision on a general benchmark; the delta-based bidirectional transformation framework is now considered as one of the standard types of bidirectional transformation frameworks. His work has been adopted by the industry, such as a Linux kernel configuration project, the Huawei company, and the YanCloud DaaS system.
Building Great Fuzzers Within Minutes
Speaker:Andreas Zeller, Saarland University
Slides: downloadAbstract: Generating software tests automatically is one of the great promises of Software Analyses and Testing. Traditionally, building a test generator (or “fuzzer”) has been work that would take months, if not years of work; extending fuzzers for particular purposes wasn’t an easy thing to do either. In this lecture, I introduce students and researchers into “Generating Software Tests” (fuzzingbook.org), which is both a textbook and executable software collection for a large number of test generation techniques. Starting from simple fuzzers, I show how to develop and build a number of test generation approaches, from simple random and feedback-driven fuzzing to advanced techniques such as grammar-based testing or automated GUI testing – using super-compact Python code that can be extended and adapted within minutes. The session will be mainly live coding and experimenting, with plenty of opportunities for interaction and further suggestions. All examples can be run live in your browser at fuzzingbook.org.
Bio: Andreas Zeller is Faculty at the CISPA Helmholtz Center for Information Security, and professor for Software Engineering at Saarland University, both in Saarbrücken, Germany. His research concerns the analysis of large software systems and their development process. In 2010, Zeller was inducted as Fellow of the ACM for his contributions to automated debugging and mining software archives, for which he also was awarded 10-year impact awards from ACM SIGSOFT and ICSE. In 2011, he received an ERC Advanced Grant, Europe's highest and most prestigious individual research grant, for work on specification mining and test case generation. In 2013, Zeller co-founded Testfabrik AG, a start-up on automatic testing of Web applications, where he chairs the supervisory board. In 2018, he received the highest research award of ACM SIGSOFT, the Outstanding Research Award.
Automated Program Repair
Speaker: Abhik Roychoudhury, National University of Singapore
Slides: downloadAbstract: Automated program repair is an emerging and exciting field of research, which allows for automated rectification of errors and vulnerabilities. The use of automated program repair can be myriad, such as (a) improving programmer productivity (b) automated patching of security vulnerabilities, (c) self-healing software for autonomous devices such as drones, as well as (d) use of repair in introductory programming education by grading and providing hints for programming assignments. We will first provide a discussion of existing approaches to program repair, as well as existing repair tools. We will thus discuss various approaches to automated repair including search based repair, semantic repair, and learning guided repair. One of the key technical challenges in achieving automated program repair, is the lack of formal specifications of intended program behavior. In this talk, we will conceptualize the use of symbolic execution approaches and tools for extracting such specifications. This is done by analyzing a buggy program against selected tests, or against reference implementations. This also provides a completely novel use of symbolic execution beyond verification, and navigation of large search spaces. The field of program repair in its current form can construct “imaginative” patches, serves as a test-bed for the grand-challenge of automated programming, and contributes to the vision of trustworthy self-healing software. Towards the end, we will discuss concrete applications of program repair in programming education. We will conclude with a forward looking view of the field by discussing newer applications of program repair.
Bio: Abhik Roychoudhury is a Professor of Computer Science at the National University of Singapore. His research focuses on software testing and analysis, software security and trust-worthy software construction. He has been an ACM Distinguished Speaker(2013-19). He is the Director of the National Satellite of Excellence on Trustworthy Software Systems at Singapore (2019-23). He is also the Lead Principal Investigator of the Singapore Cyber-security Consortium (2016-22), which is a consortium of around 50 companies in the cyber-security space engaging with academia for research and collaboration. Abhik received his Ph.D. in Computer Science from the State University of New York at Stony Brook in 2000. He has advised organizations and governments on smart systems and cyber-security issues in different capacities, including being an advisory board member of the London Office for Rapid Cyber-security Advancement (LORCA) since 2018.
Towards Data-driven Cloud Service Intelligence
Speaker: Qingwei Lin, Microsoft Research Asia
Slides: downloadAbstract: Software industry has been transformed from delivering boxed products to releasing online services and Apps. Accordingly, the way services are built and released is different from traditional boxed products, which brings up the importance of Data-driven Service Intelligence. Data-driven service intelligence points to any data-driven techniques that help ensure high service quality, efficient and effective engineering and DevOps productivity, and high customer satisfaction. Service intelligence has strategic importance for successful online service business.
With the proliferation of cloud computing, the scale and complexity of services have increased dramatically. The ever-increasing scale and complexity of services pose significant challenges to software and service engineers on efficiently and effectively building and operating online services. To address the challenges, there is a wide range of research and products to enable advanced analytics for intelligent online service, by leveraging technologies based on machine learning, data mining, information visualization, and large-scale data computing.
In this talk, we will present below topics in the online service intelligence area: (1) talking about the motivation and emerging importance; (2) describing the real-world challenges based on our experience; (3) introducing a set of sample solutions that have successfully benefited Microsoft online service products; (4) and sharing some learnings from our practice.
Bio: Qingwei Lin is a Senior Researcher and Research Manager at the DKI (Data, Knowledge, Intelligence) area of Microsoft Research Asia. He is leading a team of researchers working on data-driven technologies for service intelligence, using machine learning and data mining algorithms. In service intelligence area, Qingwei has multiple publications in the conferences of ICSE, FSE, ASE, DSN, SigKDD, USENIX ATC, ICDM, WWW, etc. The research technologies have been transferred into multiple Microsoft product divisions, such as Microsoft Azure, Office365, Windows, Bing, etc. Qingwei hosted Microsoft company-wide "Cloud Service Intelligence Summit" as the Chair for 4 consecutive years. He joined Microsoft Research in 2006.