Diomidis Spinellis will talk about CScout, the C refactoring browser: Despite its maturity and popularity, the C programming language still lacks tool support for reliably performing even simple refactoring, browsing, or analysis operations. This is primarily due to identifier scope complications introduced by the C preprocessor. The CScout refactoring browser analyses complete program families by tagging the original identifiers with their precise location and classifying them into equivalence classes orthogonal to the C language’s namespace and scope extents. A web-based user interface provides programmers with an intuitive source code analysis and navigation front-end, while an SQL-based backend allows more complex source code analysis and manipulation. CScout has been successfully applied to many medium and large open source and proprietary projects identifying thousands of modest refactoring opportunities. Projects where CScout has been applied include the Linux, FreeBSD, and Solaris kernels, Apache httpd, awk, PostgreSQL, and gdb.
Marc Philipp, principal software engineer at Gradle and lead developer of the JUnit5 project. Marc will tell us everything about JUnit 5. Why the development team decided to build JUnit 5 from scratch, lessons learned from the design of JUnit 4, and how JUnit 5 is designed for extensibility.