In practice, a pure top-down and refinement-based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing req...
Software systems are increasingly being built as compositions of reusable artifacts (components, frameworks, toolkits, plug-ins, APIs, etc) that have non-trivial usage constraints...
This paper introduces an information retrieval based approach for automating the detection and classification of non-functional requirements (NFRs). Early detection of NFRs is use...
Jane Cleland-Huang, Raffaella Settimi, Xuchang Zou...
In this paper we illustrate the use of formal methods in the development of a benchmark application we call the Village Telephone System which is characteristic of a class of netwo...
Karthikeyan Bhargavan, Carl A. Gunter, Elsa L. Gun...
Information hiding is one of the most important and influential principles in software engineering. It prescribes that software modules hide implementation details from other modu...
Cleidson R. B. de Souza, David F. Redmiles, Li-Te ...