Automated behavioral testing of refactoring engines
GS Soares - Proceedings of the 3rd annual conference on Systems …, 2012 - dl.acm.org
Refactoring is a transformation that preserves the external behavior of a program and
improves its internal quality. Usually, compilation errors and behavioral changes are …
improves its internal quality. Usually, compilation errors and behavioral changes are …
Making program refactoring safer
G Soares - Proceedings of the 32nd ACM/IEEE International …, 2010 - dl.acm.org
Automated refactorings may change the program behavior. We propose an approach and its
implementation called SafeRefactor for making program refactoring safer. We applied 10 …
implementation called SafeRefactor for making program refactoring safer. We applied 10 …
Discipline Matters: Refactoring of Preprocessor Directives in the #ifdef Hell
The C preprocessor is used in many C projects to support variability and portability.
However, researchers and practitioners criticize the C preprocessor because of its negative …
However, researchers and practitioners criticize the C preprocessor because of its negative …
A theory of software product line refinement
To safely evolve a software product line, it is important to have a notion of product line
refinement that assures behavior preservation of the original product line products. So in this …
refinement that assures behavior preservation of the original product line products. So in this …
[PDF][PDF] Formal derivation of state-rich reactive programs using Circus.
MVM Oliveira - 2005 - cs.york.ac.uk
The lack of formalism in most software developments can lead to a loss of precision and
correctness in the resulting software. Formal techniques of program development have been …
correctness in the resulting software. Formal techniques of program development have been …
Comparing approaches to analyze refactoring activity on software repositories
Some approaches have been used to investigate evidence on how developers refactor their
code, whether refactorings activities may decrease the number of bugs, or improve …
code, whether refactorings activities may decrease the number of bugs, or improve …
Safe evolution templates for software product lines
Software product lines enable generating related software products from reusable assets.
Adopting a product line strategy can bring significant quality and productivity improvements …
Adopting a product line strategy can bring significant quality and productivity improvements …
Towards refactoring-aware regression test selection
Regression testing checks that recent project changes do not break previously working
functionality. Although important, regression testing is costly when changes are frequent …
functionality. Although important, regression testing is costly when changes are frequent …
Formal specification and verification of Java refactorings
There is an extensive literature about refactorings of object-oriented programs, and many
refactoring tools for the Java programming language. However, except for a few studies, in …
refactoring tools for the Java programming language. However, except for a few studies, in …
Partially safe evolution of software product lines
A key challenge developers might face when evolving a product line is not to inadvertently
affect users of existing products. In refactoring and conservative extension scenarios, we can …
affect users of existing products. In refactoring and conservative extension scenarios, we can …