To realize the benefits of Aspect Oriented Programming (AOP), developers must refactor active and legacy code bases into an AOP language. When refactoring, developers first need...
David Shepherd, Jeffrey Palm, Lori L. Pollock, Mar...
Test factoring creates fast, focused unit tests from slow system-wide tests; each new unit test exercises only a subset of the functionality exercised by the system test. Augmenti...
David Saff, Shay Artzi, Jeff H. Perkins, Michael D...
Software verification using model checking often translates programs into corresponding transition systems that model the program behavior. As software systems continue to grow i...
Model merging is an important activity in software development. We often need to integrate a set of models coming from different sources so as to create a unified model encompass...
Due to the large success of wireless networks and handheld devices, the ambient intelligence (AmI) paradigm is becoming a reality. One of the most challenging objectives to achiev...
Sonia Ben Mokhtar, Jinshan Liu, Nikolaos Georganta...
Traits are basically mixins or interfaces but with method bodies. In languages that support traits, classes are composed out of traits. There are two main advantages with traits. ...
We propose an approach for complex software analysis based on visualization. Our work is motivated by the fact that in spite of years of research and practice, software developmen...
Guillaume Langelier, Houari A. Sahraoui, Pierre Po...
Feature location aims at locating pieces of code that implement a given set of features (requirements). It is a necessary first step in every program comprehension and maintenanc...