Since software is developed to run on computers, there is a tendency to focus computer science and software engineering on how best to get software to run on computers. But, engin...
Executing critical systems often rely on humans to make important and sometimes life-critical decisions. As such systems become more complex, the potential for human error to lead...
Lori A. Clarke, Leon J. Osterweil, George S. Avrun...
Empirical studies that use software repository artifacts have become popular in the last decade due to the ready availability of open source project archives. In this paper, we su...
We propose program fields, a formal representation for groups of related programs, as a new abstraction to support future software engineering research in several areas. We will d...
Declarative policies play a central role in many modern software systems. Engineering policies and their interactions with programs raises many interesting open questions. Categor...
Kathi Fisler, Shriram Krishnamurthi, Daniel J. Dou...
For `mixed-criticality' systems that have both critical and non-critical functions, the greatest leverage on dependability may be at the design level. By designing so that ea...
Almost all fundamental advances in science and engineering crucially depend on the availability of extremely capable high performance computing (HPC) systems. Future HPC systems w...
Legislation is constantly affecting the way in which software developers can create software systems, and deliver them to their users. This raises the need for methods and tools t...