Dr. Patanamon Thongtanunam (or Pick) is a Senior Lecturer (equivalent to Associate Professor) at the School of Computing and Information Systems, the University of Melbourne.
Pick’s research interests include empirical software engineering, data mining, and data-driven techniques to support software engineering tasks. Her primary research goals are directed towards uncovering empirical evidence, extracting knowledge from data recorded in software repositories, gleans actionable insights for software engineering management, and developing automated approaches to support developers. Her research work and endeavour has received numerous prestigious awards including an Australian Research Councile (ARC) Discovery Early Career Research Award (2021 - 2024), Japan Society for the Promotion of Science Research Fellowship (2016 - 2018), ACM SIGSOFT Distinguished Paper award, IEEE Computer Society TCSE Distinguished Paper Award, as well as distinguished reviewer awards.
Agile methods have served software engineering well for over two decades, improving responsiveness to change, empowering teams, and facilitating better communication among various project stakeholders. But is it enough to lead us through the next era where balancing business value with human values has become more relevant than ever, especially in an increasingly artificial intelligence (AI)-assisted, hybrid world? We do not think so, and, in this article, we present our vision of “augmented agile” where agile practices are augmented with new capabilities made possible by AI while incorporating human-centered values.
@article{hoda2023augmented,bibtex_show = {true},title = {Augmented Agile: Human-Centered AI-Assisted Software Management},author = {Hoda, Rashina and Dam, Hoa and Tantithamthavorn, Chakkrit and Thongtanunam, Patanamon and Storey, Margaret-Anne},journal = {IEEE Software},abbr = {IEEE Software},volume = {40},number = {4},pages = {106--109},year = {2023},publisher = {IEEE},doi = {10.1109/MS.2023.3268725},html = {https://ieeexplore.ieee.org/document/10176159},pdf = {https://www.researchgate.net/publication/372210575_Augmented_Agile_Human-Centered_AI-Assisted_Software_Management}}
ASE
Repeated Builds During Code Review: An Empirical Study of the OpenStack Community
Rungroj Maipradit, Dong Wang, Patanamon Thongtanunam, Raula Gaikovina Kula, Yasutaka Kamei, and 1 more author
In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, 2023
Code review is a popular practice where developers critique each others’ changes. Since automated builds can identify low-level issues (e.g., syntactic errors, regression bugs), it is not uncommon for software organizations to incorporate automated builds in the code review process. In such code review deployment scenarios, submitted change sets must be approved for integration by both peer code reviewers and automated build bots. Since automated builds may produce an unreliable signal of the status of a change set (e.g., due to ’flaky’ or non-deterministic execution behaviour), code review tools, such as Gerrit, allow developers to request a ’recheck’, which repeats the build process without updating the change set. We conjecture that an unconstrained recheck command will waste time and resources if it is not applied judiciously. To explore how the recheck command is applied in a practical setting, in this paper, we conduct an empirical study of 66,932 code reviews from the OpenStack community. We quantitatively analyze (i) how often build failures are rechecked; (ii) the extent to which invoking recheck changes build failure outcomes; and (iii) how much waste is generated by invoking recheck. We observe that (i) 55% of code reviews invoke the recheck command after a failing build is reported; (ii) invoking the recheck command only changes the outcome of a failing build in 42% of the cases; and (iii) invoking the recheck command increases review waiting time by an average of 2,200% and equates to 187.4 compute years of waste—enough compute resources to compete with the oldest land living animal on earth. Our observations indicate that the recheck command is frequently used after the builds fail, but does not achieve a high likelihood of build success. While recheck currently generates plenty of wasted computational resources and bloats waiting times, it also presents exciting future opportunities for researchers and tool builders to propose solutions that can reduce waste.
@inproceedings{Maipradit2023repeated,bibtex_show = {true},title = {Repeated Builds During Code Review: An Empirical Study of the OpenStack Community},author = {Maipradit, Rungroj and Wang, Dong and Thongtanunam, Patanamon and Kula, Raula Gaikovina and Kamei, Yasutaka and McIntosh, Shane},booktitle = {Proceedings of the IEEE/ACM International Conference on Automated Software Engineering},abbr = {ASE},pages = {to appear},year = {2023},publisher = {IEEE},note = {Acceptance rate: 21% (134/629)}}
SANER
Towards Automated Code Reviews: Does Learning Code Structure Help?
Hong Yi Lin, and Patanamon Thongtanunam
In Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering, 2023
Code review is a crucial ingredient to quality software development, but requires a large amount of time and effort for developers. To optimise this manual process, recent research on automated code review seeks to leverage Neural Machine Translation (NMT) models to perform tasks such as automated code improvement. A recent work had pretrained the NMT model for automated code review in order to equip the model with general coding knowledge. However, their pretraining approach is generic to natural languages, which does not leverage the unique properties of coding languages. Therefore, we set out to explore two state-of-the-art pretrained NMT models (i.e., CodeT5 and GraphCodeBERT) that were designed to learn code structure. We studied the models’ abilities to generate correct code improvement through an empirical evaluation based on five different datasets. Our results showed that in terms of generating correct code sequences, CodeT5, GraphCodeBERT, and the prior work achieved an average accuracy of 22%, 18%, and 10%, respectively. In terms of generating correct dataflow structures, they achieved an average accuracy of 33%, 30%, and 22%, respectively. The results suggested that the code structure focused approaches could outperform the generic pretraining approach. This work contributes towards enhancing automated code review techniques by understanding the effectiveness of code structure focused NMT models.
@inproceedings{lin2023towards,title = {Towards Automated Code Reviews: Does Learning Code Structure Help?},author = {Lin, Hong Yi and Thongtanunam, Patanamon},booktitle = {Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering},abbr = {SANER},pages = {703--707},year = {2023},organization = {IEEE},bibtex_show = {true},doi = {10.1109/SANER56733.2023.00075},html = {https://ieeexplore.ieee.org/abstract/document/10123547},pdf = {https://www.researchgate.net/publication/368332826_Towards_Automated_Code_Reviews_Does_Learning_Code_Structure_Help},note = {Acceptance rate: 40% (12/30)}}
SANER
D-ACT: Towards Diff-Aware Code Transformation for Code Review Under a Time-Wise Evaluation
Chanathip Pornprasit, Chakkrit Tantithamthavorn, Patanamon Thongtanunam, and Chunyang Chen
In Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering, 2023
Code review is a software quality assurance practice, yet remains time-consuming (e.g., due to slow feedback from reviewers). Recent Neural Machine Translation (NMT)-based code transformation approaches were proposed to automatically generate an approved version of changed methods for a given submitted patch. The existing approaches could change code tokens in any area in a changed method. However, not all code tokens need to be changed. Intuitively, the changed code tokens in the method should be paid more attention to than the others as they are more prone to be defective. In this paper, we present an NMT-based Diff-Aware Code Transformation approach (D-ACT) by leveraging token-level change information to enable the NMT models to better focus on the changed tokens in a changed method. We evaluate our D-ACT and the baseline approaches based on a time-wise evaluation (that is ignored by the existing work) with 5,758 changed methods. Under the time-wise evaluation scenario, our results show that (1) D-ACT can correctly transform 107 - 245 changed methods, which is at least 62% higher than the existing approaches; (2) the performance of the existing approaches drops by 57% to 94% when the time-wise evaluation is ignored; and (3) D-ACT is improved by 17%- 82% with an average of 29% when considering the token-level change information. Our results suggest that (1) NMT-based code transformation approaches for code review should be evaluated under the time-wise evaluation; and (2) the token-level change information can substantially improve the performance of NMT-based code transformation approaches for code review.
@inproceedings{pornprasit2023d,bibtex_show = {true},title = {D-ACT: Towards Diff-Aware Code Transformation for Code Review Under a Time-Wise Evaluation},author = {Pornprasit, Chanathip and Tantithamthavorn, Chakkrit and Thongtanunam, Patanamon and Chen, Chunyang},booktitle = {Proceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering},abbr = {SANER},pages = {296--307},year = {2023},organization = {IEEE},doi = {10.1109/SANER56733.2023.00036},html = {https://ieeexplore.ieee.org/document/10176159},pdf = {https://www.researchgate.net/publication/367075263_D-ACT_Towards_Diff-Aware_Code_Transformation_for_Code_Review_Under_a_Time-Wise_Evaluation},note = {Acceptance rate: 27% (56/207)}}
Trans. Info.
An Exploration of Cross-Patch Collaborations via Patch Linkage in OpenStack
Dong Wang, Patanamon Thongtanunam, Raula GAIKOVINA Kula, and Kenichi Matsumoto
IEICE Transaction on Information and Systems, 2023
Contemporary development projects benefit from code review as it improves the quality of a project. Large ecosystems of inter-dependent projects like OpenStack generate a large number of reviews, which poses new challenges for collaboration (improving patches, fixing defects). Review tools allow developers to link between patches, to indicate patch dependency, competing solutions, or provide broader context. We hypothesize that such patch linkage may also simulate cross-collaboration. With a case study of OpenStack, we take a first step to explore collaborations that occur after a patch linkage was posted between two patches (i.e., cross-patch collaboration). Our empirical results show that although patch linkage that requests collaboration is relatively less prevalent, the probability of collaboration is relatively higher. Interestingly, the results also show that collaborative contributions via patch linkage are non-trivial, i.e, contributions can affect the review outcome (such as voting) or even improve the patch (i.e., revising). This work opens up future directions to understand barriers and opportunities related to this new kind of collaboration, that assists with code review and development tasks in large ecosystems.
@article{wang2023exploration,bibtex_show = {true},title = {An Exploration of Cross-Patch Collaborations via Patch Linkage in OpenStack},author = {Wang, Dong and Thongtanunam, Patanamon and Kula, Raula GAIKOVINA and Matsumoto, Kenichi},journal = {IEICE Transaction on Information and Systems},abbr = {Trans. Info.},volume = {106},number = {2},pages = {148--156},year = {2023},publisher = {The Institute of Electronics, Information and Communication Engineers},doi = {10.1587/transinf.2022MPP0002},html = {https://search.ieice.org/bin/summary.php?id=e106-d_2_148},pdf = {https://arxiv.org/pdf/2211.15007.pdf}}
Co-leading the Responsible AI Software Engineering (RAISE) program with 9 industry partners to train 11 graduates (7 Ph.D., 1 Master, and 3 Honours) addressing the urgent need for deep expertise and excellent skills in Responsible AI Software Engineering for digital health, transportation, and defence sectors.
ARC DECRA Fellowship is the competitive fund which is awarded to Early Career Researchers in Australia to support excellent basic and applied research. Success rate (DE21): 200/1173 (17.1%) across all disciplines; 56/331 (16.9%) for the Engineering, Information and Computing Sciences discipline.
For our paper titled ``PyExplainer: Explaining the Predictions of Just-In-Time Defect Models'' published at the International Conference on Automated Software Engineering (ASE2021).
IEEE Computer Society TCSE Distinguished Paper Award
For our paper titled ``Towards Just-Enough Documentation for Agile Effort Estimation: What Information Should Be Documented?'' published at the International Conference on Software Maintenance and Evolution (ICSME2021). Only 4/43 accepted papers received the award.
Distinguished PC Member Award
For outstanding service on the program committee at The Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE2020)