Lawrence Markosian

Learn More
New processes, methods and tools are constantly appearing in the field of software engineering. Many of these augur great potential in improving software development processes, resulting in higher quality software with greater levels of assurance. However, there are a number of obstacles that impede their infusion into software development practices. These(More)
"Reengineering a major line-of-business system can be likened to changing a tire on a moving vehicle." Intro • Proliferation of CASE tools in the last 10 years • Reengineering tool proliferation has been minimal • Automated support for reengineering is worse-especially when we talk about transforming code to new functionality. • Largest problem in(More)
We describe an approach to software analysis and test generation that combines several technologies: object-oriented databases and parsers for capturing and representing software; pattern languages for writing program templates and querying and analyzing a database of software; and transformation rules for automatically generating test cases based on the(More)
We describe our development of a key portion of a safety case for a safety-critical piece of NASA software designed to operate on a NASA launch vehicle. The software's purpose is to make real-time determinations of the presence of catastrophic failure conditions of that vehicle and react accordingly. We show how our safety case development applies a series(More)
1,2,3 — Research in the software engineering community continues to lead to new development techniques that encompass processes, methods and tools. However, a number of obstacles impede their infusion into software development practices. These are the recurring obstacles common to many forms of research. Practitioners cannot readily identify the emerging(More)
—Model checking is a verification technique developed in the 1980s that has a history of industrial application in hardware verification and verification of communications protocol specifications. Program model checking is a technique for model checking software in which the program itself is the model to be checked. Program model checking has shown(More)