space space space
space
University of Illinois at Urbana-Champaign
space
space

Programming Languages, Formal Systems, and Software Engineering

Software engineers are looking for ways to improve the quality and reliability of software as well as reduce the cost of software development. The research involves development, testing, and maintenance of software as well as the development of languages to assist in software development.

Formal systems use mathematical logic to prove the correctness of a system, and they are used to specify, develop, and verify both software and hardware systems. In traditional software engineering, designers attempt to prove that a system will be reliable and secure by exhaustive testing, probability theory, and simulation. But it is impossible to test every scenario a system will face. By using formal methods, designers can "prove" the correctness of their system by modeling it mathematically.

Programming languages are used to control the behavior of a computer. There are thousands of them. Each has its strengths and weaknesses, and they can be general purpose or domain-specific. Which one is used depends on the type of computer its run on, what sort of program is being run, and the expertise of the programmer. More and more, software systems consist of reusable components and interfaces for third-party programmers to extend the systems (e.g., plug-ins and applets for Web browsers), and research is addressing these new systems.


--
Last Modified April 14 2006 08:36:45.

space
space

space

Department of Computer Science, Thomas M. Siebel Center for Computer Science, 201 N Goodwin Ave,
Urbana, IL 61801-2302. The Department is part of the College of Engineering at the University of Illinois at Urbana-Champaign. Contact academic@cs.uiuc.edu with academic questions
or webmaster@cs.uiuc.edu with questions or comments on this page.