Over the past decade, it has been established that a good education in software engineering requires a specialized program of study different from traditional computer science prog...
Software engineering is foremost an engineering discipline. Engineering in general and software engineering specifically has to balance many factors to achieve viable tradeoffs?an ...
Developers of highly configurable performanceintensive software systems often use a type of in-house performance-oriented "regression testing" to ensure that their modif...
Cemal Yilmaz, Arvind S. Krishna, Atif M. Memon, Ad...
Based on many years of teaching software engineering, I present a number of lessons I have learned over the years. I do so in the form of a series of myths, the reverse of which c...
We present Binary Refactoring: a software engineering technique for improving the implementation of programs without modifying their source code. While related to regular refactor...
To achieve the goalof realizingobject adaptationto environments, a new role-based model Epsilon and a language EpsilonJ is proposed. In Epsilon, an environment is defined as a fie...
Software has jumped "out of the box" ? it controls critical systems, pervades business and commerce, and infuses entertainment, communication, and other everyday activiti...
UML sequence diagrams are commonly used to represent object interactions in software systems. This work considers the problem of extracting UML sequence diagrams from existing cod...