The process of software development is gradually achieving more rigor. Proficient developers now construct indirectly through the abstraction of models. Models allow a developer t...
Software evolution is made difficult by the need to integrate new features with all previously implemented features in the system. We present Spotlight, a prototype editor for sof...
Open-source development, social production, social networks and other factors change the way we understand software systems. The paper motivates the use of social thinking to desi...
Abstract. This paper uses a framework drawn from work in the philosophy of science to characterize the concepts of program correctness that have been used in software engineering, ...
The complexity of software systems makes design reuse a necessary task in the software development process. CASE tools can provide cognitive assistance in this task, helping the so...