We present a constructive approach to correctness and exemplify it by describing a generator for certified Java Card applets that we are building. A proof of full functional correctness is generated, along with the code, from the specification; the proof can be independently checked by a simple proof checker, so that the larger and more complex generator… (More)
Over the last few years, technologies for the formal description, construction, analysis, and validation of software - based mostly on logics and formal reasoning - have matured. We can expect them to complement and partly replace traditional software engineering methods in the future. Formal methods in software engineering are an increasingly important… (More)
NASA is using model-based languages and risk analysis methodologies to raise software development to the level of hardware development. Ultimately, it hopes to achieve a fusion of systems and software engineering by replacing conventional software development techniques with capability engineering, which focuses on a system's full set of functionalities.
Executive Summary In August 1998 the President's Information Technology Advisory Committee (PITAC) submitted an Interim Report emphasizing the importance of sottw~se l:o the nation and calling for a significant new federal investment in software researck ~ An NSF workshop subsequently brought together representatives of a broad segment of the software… (More)
The 1983 KBSA (Knowledge-Based Software Assistant) report led to the founding of the KBSE (Knowledge-Based Software Engineering conference series. The KBSE conference then changed into the ASE conference in 1997. And this year marks the 25th anniversary of the conference series. As an author of the KBSA report I was invited to talk here about the report… (More)