HL
H. Liang
info
Please Note
<p>This page displays the records of the person named above and is not linked to a unique person identifier. This record may need to be merged to a profile.</p>
2 records found
1
Property-Based ASTs
Enabling Language Parametricity in Refactoring Tools
Refactoring legacy systems is essential to maintain and modernize aging codebases, but traditional refactoring tools are often limited by language specificity and lack extensibility. This thesis introduces property-based Abstract Syntax Trees (ASTs), a flexible intermediate representation aimed at enhancing the language-parametric capabilities of refactoring tools. By leveraging Tree-Sitter, a parser generator that creates parsers that produce generic, property-based ASTs, this research adapts Renaissance, an existing industrial refactoring tool, to support multi-language extensibility with minimal additional effort. The adapted tool demonstrates equivalent functionality across C++, Java, and Python, maintaining features such as pattern matching, code rewriting, and placeholder handling. Experiments were performed, including experiments with exercises on an open-source repository, in order to highlight the practical benefits, extensibility, and limitations of this approach. This adaptation aims to showcase the feasibility of using property-based ASTs in enabling language-parametric tooling. This work lays the foundation for more centralized, cost-effective, and scalable tool development for industrial software refactoring.
...
Refactoring legacy systems is essential to maintain and modernize aging codebases, but traditional refactoring tools are often limited by language specificity and lack extensibility. This thesis introduces property-based Abstract Syntax Trees (ASTs), a flexible intermediate representation aimed at enhancing the language-parametric capabilities of refactoring tools. By leveraging Tree-Sitter, a parser generator that creates parsers that produce generic, property-based ASTs, this research adapts Renaissance, an existing industrial refactoring tool, to support multi-language extensibility with minimal additional effort. The adapted tool demonstrates equivalent functionality across C++, Java, and Python, maintaining features such as pattern matching, code rewriting, and placeholder handling. Experiments were performed, including experiments with exercises on an open-source repository, in order to highlight the practical benefits, extensibility, and limitations of this approach. This adaptation aims to showcase the feasibility of using property-based ASTs in enabling language-parametric tooling. This work lays the foundation for more centralized, cost-effective, and scalable tool development for industrial software refactoring.
The front-door adjustment is a causal inference method with which it is possible to determine the causal effect of applying a treatment given a setting which satisfies the front-door criterion. This involves having a mediator through which all the causal effect flows from treatment to outcome. The front-door adjustment adjusts for confounders and tries to only measure the causal effect from treatment to outcome. The goal is to test the applicability of the front-door adjustment using the game of Dota 2 as a testing ground. The front-door adjustment has been applied to find the effect of picking ‘Slark’ on the outcome of the game. The mediator in this case is the enemy team buying an item called ‘Hurricane Pike’. Two different approaches have been used, both giving varying results. These varying results lead to different possible interpretations. This variety of interpretations therefore suggest that the front-door adjustment is not a valid method for this specific scenario, likely due to the complexity of the game and perhaps the simplified representation of the game in the data-set.
...
The front-door adjustment is a causal inference method with which it is possible to determine the causal effect of applying a treatment given a setting which satisfies the front-door criterion. This involves having a mediator through which all the causal effect flows from treatment to outcome. The front-door adjustment adjusts for confounders and tries to only measure the causal effect from treatment to outcome. The goal is to test the applicability of the front-door adjustment using the game of Dota 2 as a testing ground. The front-door adjustment has been applied to find the effect of picking ‘Slark’ on the outcome of the game. The mediator in this case is the enemy team buying an item called ‘Hurricane Pike’. Two different approaches have been used, both giving varying results. These varying results lead to different possible interpretations. This variety of interpretations therefore suggest that the front-door adjustment is not a valid method for this specific scenario, likely due to the complexity of the game and perhaps the simplified representation of the game in the data-set.