Stephanie Forrest believes in applying evolutionary biology principles to the software process creating evolvable software through automated bug repair, improving code and creating new combinations of existing functionality.
Karthik Dinakar presents the case of his team which attempted to be as agile as possible in order to fulfill the short-term goals but missed the long-term ones because some of the Agile best practices were ignored. He tells the story of how his team finally managed to come back on course and which are the practices that he considers as necessary for success.
Jason H. Christensen presents the evolution of mobile devices, how to get around limitations by integrating mobile systems with the cloud and make use of RESTful services, what is a basic mobile architecture and how it can be implemented.
Brian Nicks presents a study case of a healthcare company which inherited many disparate technologies from Java on WebLogic to .Net to RPG on iSeries to CICS on zSeries to COBOL on OpenVMS, deciding that the integration solution was to implement a SOA initiative. The presentation contains the challenges, the successes and the lessons learned throughout the process.
Gerard Holzmann discusses Spin, a design analyzer tool, and Scrub, a code review tool, used by Jet Propulsion Laboratory to analyze and fix the software used for critical solar system exploration missions.
Robert Johnson discusses Facebook’s approach to scalability issues resulting from a large growth of the user base. He talks about: why one needs to prepare for horizontal and not vertical scalability, very short release cycles which are better because they introduce fewer bugs, the need to streamline to deploying process for short release cycles, and making the entire process faster every day.
In a reprise of her ACM Turing Award lecture, Barbara Liskov discusses the invention of abstract data types, the CLU programming language, clusters, polymorphism, exception handling, iterators, implementation inheritance, type hierarchies, the Liskov Substitution Principle, polymorphism, and future challenges such as new abstractions, parallelism, and the Internet.
Brion Vibber discusses the challenges of working with user communities, social bottlenecks, the Wikipedia article deletion process, scalability of software vs communities, new approaches to scaling communities, ongoing challenges with MediaWiki community, using git to scale the code commit process, automated Wikipedia edit filtering, flagged protection pages, and remaining challenges to face.
In this OOPSLA 2008 session, Lucy Suchman teaches 8 lessons about objects: Learning to see, Classification, Object Agencies, Configurations, Boundaries and Interfaces, Contextualizations, Recontextualizations, and Transformations, showing how they can influence design.
In this panel recorded during OOPSLA 2008, the panelists, Jeff Gray (moderator), Kathleen Fisher, Charles Consel, Gabor Karsai, Marjan Mernik, Juha-Pekka Tolvanen, talk about the benefits and drawbacks of using DSLs.
In this presentation recorded at OOPSLA 2008, Guy L. Steele Jr. and Richard P. Gabriel reenact their presentation called “The Evolution of Lisp” which took place during ACM History of Languages Conference in 1993.
In this presentation recorded during OOPSLA 2008, Sonali K. Shah talks about innovations produced by community users. Contrary to the general perception, most innovations are not created by firms but by individuals. Shah offers the details of a study of innovations in sports equipments and also talks about open source and gated community innovations in software.