Modularity is a fundamental technique used for the composition of large software systems. Under modularity, design decisions that are likely to change are encapsulated within individual modules. However, programmers also employ crosscutting concepts, such as design patterns and programming idioms, which cannot be effectively modularized. Consequently, implementations of these crosscutting concepts can be expensive to change, even when the code is well-structured. In this dissertation, I describe an extension to the refactoring paradigm that provides for the modular maintenance of crosscutting concepts, supporting both substitutability of implementations and the checking of essential constraints. This extension was realized through the Arcum...
This tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals...
Sistemas de software bem modularizados podem trazer diversos benefícios como reu- sabilidade, compre...
The continuous need for more ambitious, more complex, and more dependable software systems demands m...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Improving the structure of code can help developers work with a software system more efficiently an...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Improving the structure of code can help developers work with a software system more efficiently and...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
In this paper we present an exploratory pair-programming study aimed at investigating how programmer...
Large-scale software applications are complex systems that involve a myriad of different concerns. I...
Compilers are among the most widely-studied pieces of software; and, modularizing these valuable art...
Modularity of software has long been the primary mechanism used in software development to improve r...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Building an automated refactoring tool for a new programming language is an expensive and time-consu...
This tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals...
Sistemas de software bem modularizados podem trazer diversos benefícios como reu- sabilidade, compre...
The continuous need for more ambitious, more complex, and more dependable software systems demands m...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Improving the structure of code can help developers work with a software system more efficiently an...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Improving the structure of code can help developers work with a software system more efficiently and...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
In this paper we present an exploratory pair-programming study aimed at investigating how programmer...
Large-scale software applications are complex systems that involve a myriad of different concerns. I...
Compilers are among the most widely-studied pieces of software; and, modularizing these valuable art...
Modularity of software has long been the primary mechanism used in software development to improve r...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Building an automated refactoring tool for a new programming language is an expensive and time-consu...
This tutorial will provide an introduction to Ptolemy. Ptolemy is a programming language whose goals...
Sistemas de software bem modularizados podem trazer diversos benefícios como reu- sabilidade, compre...
The continuous need for more ambitious, more complex, and more dependable software systems demands m...