A significant challenge in teaching programming to disadvantaged populations is preserving learners’ motivation and confidence. Because programming requires such a diverse set o...
Architecture-based software development is the implementation of a software system in terms of its architectural constructs (e.g., components, connectors, ports). It has been show...
In the social reality, objects communicate with each other by means of assuming roles to establish collaboration, and then can adaptively change their roles to obtain other intera...
Regression test suites tend to grow over time as new test cases are added to exercise new functionality or to target newly-discovered faults. When test suites become too large, th...
Parameterization is an effective technique for building flexible, reusable software. When dealing with parameterized components, an important concern is the time at which parame...