![]() |
20th IEEE/ACM International Conference on
|
Instructors | |||||
---|---|---|---|---|---|
Dr. Robby | Department of CIS, Kansas State University, USA | ||||
Matthew Hoosier | Department of CIS, Kansas State University, USA | ||||
![]() |
Project Website: http://bogor.projects.cis.ksu.edu | ||||
Abstract | |||||
Model checking has proven to be an effective technology for verification and debugging in hardware and more recently in software domains. We believe that for model checking technology to be effectively applied to software, model checking tools must directly support language constructs found in modern object-oriented languages like Java and C# and underlying checking algorithms must make use of sophisticated analyses similar to those found in optimizing compilers to reduce model checking costs. Moreover, recent trends in both the requirements for software systems and the processes by which systems are developed suggest that domain-specific model checking engines may be more effective than general purpose model checking tools. The Bogor model checking framework is an extensible and highly modular explicit-state model checking framework that aims to overcome limitations of existing model checking tools that fail to provide direct support modeling software, and to enable more effective incorporation of domain knowledge into verification models and associated model checking algorithms and optimizations.
This four hour tutorial will cover the following topics related to Bogor's design principles, graphical user interface and visualizations, internal architecture and APIs, working with architectural elements to create customized domain-specific model-checking engines, and example deployments of Bogor in large scale development/verification environments.
Bogor is freely distributed in an open-source format, and a variety of forms of supporting documentation and example repositories can be found on the project web-site http://bogor.projects.cis.ksu.edu. |
|||||
Presenter Biography Information | |||||
Dr. Robby (Assistant Professor at Kansas State University) and Dr. Matthew Dwyer (Henson Professor of Engineering at University of Nebraska, Lincoln) together with Dr. John Hatcliff (Professor at Kansas State University) have led the development of a variety of verification and analysis tools including the Bogor software model checking framework, the Cadena integrated development environment for component-based distributed systems, and the Bandera tool set for model checking concurrent Java programs. Their work on these tools has been supported by a variety of funding agencies including the U.S. National Science Foundation, U.S. Army Research Office (ARO), the U.S. Defence Advanced Research Projects Agency (DARPA), NASA, and by IBM, Lockheed Martin, Rockwell Collins, and Intel. Matthew Hoosier (Research Associate at Kansas State University) is the full-time developer that maintains the Bogor software model checking framework. |
Instructor | |
---|---|
Michael Ernst | CSAIL, MIT, USA |
Jeff H. Perkins | CSAIL, MIT, USA |
Abstract | |
The software engineering community increasingly recognizes the importance and value of dynamic analysis for program understanding. A dynamic analysis runs a program and observes its execution. Dynamic analysis for program understanding produces output, or feeds into a subsequent analysis, that enables programming tasks or increases human understanding of the code; this transcends traditional dynamic analysis for testing or optimization. Dynamic analysis complements traditional static analyses, such as compilers and type checkers, that have similar goals. Once largely ignored by the research community due to unsoundness, of late there has been a flowering of research in this area. Often, a dynamic analysis is more precise and can better handle incomplete programs, programs written in multiple languages, and analysis of program environments, among other situations. This tutorial will explore the active new area of program analysis for program understanding and software engineering. It will cover theoretical background, implementation techniques, and applications, with particular focus on applications to practical programming tasks and on developing new applications. It will also present tools that you can use or build on in your practice or research, with the opportunity for hands-on experience, if there is interest. The tutorial format will encourage questions, discussion, and interaction, in order to enable participants to get the most out of it. |
Instructors | |
---|---|
Christopher Landauer | Aerospace Integration Science Center, The Aerospace Corporation, USA |
Kirstie L. Bellman | Aerospace Integration Science Center, The Aerospace Corporation, USA |
Abstract | |
The objective of this tutorial is to introduce attendees to some new attitudes and conceptual tools for constructed complex system design, that we have found to be very helpful in modeling, analyzing, and understanding very large and complex systems. This tutorial will include a short guided session on how to use these techniques for system modeling, software design, and general system engineering and integration. |
Instructor | |
---|---|
Kung-Kiu Lau | School of Computer Science, The University of Manchester, UK |
Abstract | |
In Software Engineering, Component-based Development (CBD) is an important emerging topic, promising long sought after benefits like increased reuse and reduced time-to-market (and hence software production cost). However, there are at present many obstacles to overcome before CBD can succeed. For one thing, CBD success is predicated on a standardised market place for software components, which does not yet exist. In fact currently CBD even lacks a universally accepted terminology. Existing component models adopt different component definitions and composition operators. Therefore much research remains to be done. We believe that the starting point for this endeavour should be a thorough study of current component models, identifying their key characteristics and comparing their strengths and weaknesses. A desirable side-effect would be clarifying and unifying the CBD terminology. In this tutorial, we present a clear and concise exposition of all the current major software component models, including a taxonomy. The purpose is to distill and present knowledge of current software component models, as well as to present an analysis of their properties with respect to commonly accepted criteria for CBD. The taxonomy also provides a starting point for a unified terminology. |