Software Engineering and Analytics Group

Weclome to our research group!

We are the Software Engineering and Analytics Group (SEAG) at Massey University. We coduct research in software testing, maintaince and security.


news

  • 2022

    • Two papers from our project on flaky tests have been accepted at ICSME'22 and SCAM'22. More to come! Links are available below.

    2021

    • We received two recent early career MURF research funds! Shawn received funds for work on parsers' security. Amjed received funds to study the nature of simple statement bugs. More on those projects to come!
    • Shawn Rasheed has successfully defended his PhD thesis "Security analyses for detecting deserialization vulnerabilities"
    • Award! Amjed received the IEEE/TCSE Distinguished Paper Award at ICPC'21 for the paper "Understanding Code Smell Detection via Code Review: A Study of the OpenStack Community" (a collaborator with researchers from Wuhan University and Brunel University London) read more

      Read the paper here

    • Li Sui has successfully defended his PhD thesis "An investigation into the soundness of static program analysis"
  • 2020

    Two successful grants in the recent SfTI NSC funding round!! read more
  • 2019

    Dr. Amjed Tahir was awarded the NZ at Peking University fellowship in 2019, visiting Prof Zhang Lu (Institute of Software, School of Electronics Engineering and Computer Science) together with Shawn Rasheed and Li Sui. read more
  • An Article that discussed our SfTI NSC collaborative project that featured PhD student Li Sui. read more

people

Dr. Amjed Tahir

Senior Lecturer in Software Engieering (group leader) - a.tahir@massey.ac.nz

Amjed is undertaking researches in Empirical Software Engineering including: software testing, software maintenance, reengineering and evolution, data analytics (through mining software repertories), and other software quality topics.

Dr. Shawn Rasheed

Lecturer/Research Associate in Software Engeering - s.rasheed@massey.ac.nz -

Shawn research interests are on programming languages, and using program analysis for software quality and security..

Negar Hashemi

PhD Student- negar.hashemi.1@uni.massey.ac.nz -

Neagr is a first year PhD student working on detecting flaky tests in JavaScript. Negar is interested in other areas of Software Engineering with a particular focus on software testing, software maintenance, and other software quality topics.

Previous Memebers

Joshua Bishop

Summer Intern (2021)

Li Sui

PhD Student/ Research assistant (completed - 2021)
Currently: Software Engineer at Patriot Systems (NZ)

Jacob Stringer

Masters Student (Completed - 2022)
Currently: Software Engineer at WiseTech Global (Australia)

Grants

A Novel approach to detect and predict tests with non-deterministic behaviour

This project aims to understand the causes of test flakiness, provide empirical evidence of new patterns of flaky tests and their classifications, and develop a novel technique that is able to identify and predict flaky tests with a high-level of accuracy and scalable to large programs.

  • Date Range: 2021 - 2023
  • Funding Body: Callaghan Innovation
  • Project Team: Amjed Tahir , Shawn Rasheed, Jens Dietrich (Victoria University of Wellington) and Zhang Lu (Peking University)

Proofing code reuse: detecting errors in publicly available software

This project aims to understand the causes of test flakiness, provide empirical evidence of new patterns of flaky tests and their classifications, and develop a novel technique that is able to identify and predict flaky tests with a high-level of accuracy and scalable to large programs.

  • Date Range: 2021 - 2023
  • Funding Body: Callaghan Innovation
  • Project Team: Sherlock Licorish (PI, University of Otago), Amjed Tahir and Stephen MacDonell (University of Otago)

Towards better and more reliable software bugs prediction

  • Date Range: 2018 - 2018
  • Funding Body: MURF funding (internal)
  • Project Team: Amjed Tahir , Kwabena Ebo Bennin (Wageningen University) and Stephen MacDonell (University of Otago)

Closing the gaps in Static Program Analysis

This project aims at addressing the following questions: (1) Can we quantify the unsoundness of existing static analyses? (2) Which features in modern programs cause unsoundness, and to what extent? (3) Which methods exist or can be invented to precisely model features causing unsoundness?

  • Date Range: 2017 - 2019 (completed)
  • Funding Body: Callaghan Innovation
  • Project Team: Jens Dietrich , Amjed Tahir and Li Sui

software

A Micro-Benchmark for Dynamic Program Behaviour in Java

This micro-benchmark consists of small Java programs that use certain dynamic language features that are difficult to model by static analysis tools.

  • code repository:
  • paper:
  • 
        @inproceedings{sui2018soundness,
          title={On the soundness of call graph construction in the presence of
                 dynamic language features-a benchmark and tool evaluation},
          author={Sui, Li and Dietrich, Jens and Emery, Michael and Rasheed, Shawn and Tahir, Amjed},
          booktitle={Asian Symposium on Programming Languages and Systems},
          pages={69--88},
          year={2018},
          organization={Springer}
        }
    
    

Dynamic call graph construction

A tool for constructing sound oracle which can be used to asses statically build call graph. It uses Java instrumentation to record method stack at the run time

  • code repository:
  • paper:
  • 
        @inproceedings{sui2020recall,
          title={On the recall of static call graph construction in practice},
          author={Sui, Li and Dietrich, Jens and Tahir, Amjed and Fourtounis, George},
          booktitle={2020 IEEE/ACM 42nd International Conference
                    on Software Engineering (ICSE)},
          pages={1049--1060},
          year={2020},
          organization={IEEE}
        }
    
    

publications

2022

  • Dietrich, J., Rasheed, S. & Tahir, A. (2022). Flaky Test Sanitisation via On-the-Fly Assumption Inference for Tests with Network Dependencies. In proceedings of 22nd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), IEEE
  • Kudo, T., Tsunoda, M., Tahir, A., Bennin, K. E., Toda, K., Nakasai, K Monden, A and Matsumoto, K (2022). Preliminary Analysis of Review Method Selection Based on Bandit Algorithms. 29th Asia-Pacific Software Engineering Conference (APSEC 2022). (ERA track). IEEE.
  • Hashemi, N., Tahir, A., & Rasheed, S. (2022) An Empirical Study of Flaky Tests in JavaScript. In Proceedings of 38th IEEE International Conference on Software Maintenance and Evolution (ICSME), IEEE
  • Tabo, T., Kudo, T., Tsunoda, M., Tahir, A., Bennin, K. E., Toda, K., Nakasai, K and Monden, A (2022). Clone Detection Method Selection Based on Bandit Algorithm: a Preliminary Analysis. 16th International Workshop on Software Clones (IWSC). (Short). IEEE.
  • Fu, L., Liang, P., Rasheed, Z., Li, Z., Tahir, A., & Han, X. (2022). Potential technical debt and its resolution in code reviews: an exploratory study of the OpenStack and QT communities In proceedings of 16th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), ACM
  • Han, X., Tahir, A., Liang, P., Counsell, S., Blincoe, K., Li, B., & Luo, Y. (2022). Code Smells Detection via Modern Code Review: A Study of the OpenStack and Qt Communities. Empirical Software Engineering (27), 127
  • Tsunoda, M., Monden, A., Toda, K., Tahir, A., Bennin, K. E., Nakasai, K., ... & Matsumoto, K. (2022). Using Bandit Algorithms for Selecting Feature Reduction Techniques in Software Defect Prediction. In Proceedings of IEEE/ACM 19th International Conference on Mining Software Repositories (MSR) (pp. 670-681). IEEE.
  • Sui, L., Rasheed, S., Tahir, A., & Dietrich, J. (2022) A Study of Single Statement Bugs Involving Dynamic Language Features , In Proceedings of the 30th IEEE/ACM International Conference on Program Comprehension (ICPC). IEEE
  • Licorish, S. A., Galster, M., Kapitsaki, G. M., & Tahir, A. (2022). Understanding students’ software development projects: Effort, performance, satisfaction, skills and their relation to the adequacy of outcomes developed. Journal of Systems and Software, 186, 111156.
  • Bennin, K. E., Tahir, A., MacDonell, S. G., & Börstler, J. (2022). An empirical study on the effectiveness of data resampling approaches for cross‐project software defect prediction. IET Software, 16(2), 185-199.

2021

  • Rasheed, S., Dietrich, J., & Tahir, A. (2021). Caught in the Web: DoS Vulnerabilities in Parsers for Structured Data. In 26th European Symposium on Research in Computer Security (ESORICS). Springer.
  • Tahir, A., , Bennin, K. E., Xiao, X. and S, MacDonell. (2021). Does Class Size Matter? An In-Depth Assessment of the Effect of Class Size in Software Defect Prediction , Empirical Software Engineering (Accepted), Springer.
  • Takuya Asano, Masateru Tsunoda, Koji Toda, Amjed Tahir, Kwabena Ebo Bennin, Keitaro Nakasai, Akito Monden, Kenichi Matsumoto (2021, October). Using Bandit Algorithms for Project Selection in Cross-Project Defect Prediction. In 37th International Conference on Software Maintenance and Evolution (ICSME). NIER-track. IEEE.
  • Han, X., Tahir, A., Liang, P., Counsell, S. and Luo, Y. (2021). Understanding Code Smell Detection via Code Review: A Study of the OpenStack Community. , The 29th IEEE/ACM International Conference on Program Comprehension (ICPC), IEEE. IEEE/TCSE Distinguished Paper Award!
  • Counsell, S., Tahir, A. and Swift, S. (2021). Where the Bugs Are: A Quasi-Replication Study of the Effect of Inheritance Depth and Width in Java Systems , 14th International Conference on the Quality of Information and Communications Technology (QUATIC), Springer.
  • Hayakawa, T., Tsunoda, M., Toda, K., Nakasai, K., Tahir, A., Bennin, K. E., Monden, A. and Matsumoto, K. (2021). A Novel Approach to Address External Validity Issues in Fault Prediction Using Bandit Algorithms. IEICE TRANSACTIONS on Information and Systems, 104(2), 327-331.

2020

  • Tahir, A., Dietrich, J., Counsell, S., Licorish, S., & Yamashita, A. (2020). A large scale study on how developers discuss code smells and anti-pattern in Stack Exchange sites. Information and Software Technology, 125, 106333.
  • Shcherban, S., Liang, P., Tahir, A., & Li, X. (2020, October). Automatic Identification of Code Smell Discussions on Stack Overflow: A Preliminary Investigation. In Proceedings of the 14th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 1-6).
  • Sui, L., Dietrich, J., Tahir, A., & Fourtounis, G. (2020, October). On the recall of static call graph construction in practice. In 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE) (pp. 1049-1060). IEEE.

2019

  • Malgaonkar, S., Lee, C. W., Licorish, S. A., Savarimuthu, B. T. R., & Tahir, A. (2019). Appsent A Tool That Analyzes App Reviews. arXiv preprint arXiv:1907.10191.
  • Rasheed, S., Dietrich, J., & Tahir, A. (2019, August). Laughter in the wild: A study into dos vulnerabilities in YAML libraries. In 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE) (pp. 342-349). IEEE.
  • Dietrich, J., Pearce, D., Stringer, J., Tahir, A., & Blincoe, K. (2019, May). Dependency versioning in the wild. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR) (pp. 349-359). IEEE.
  • Yukizawa, U., Tsunoda, M., & Tahir, A. (2019, February). Please help! A preliminary study on the effect of social proof and legitimization of paltry contributions in donations to OSS. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 609-613). IEEE.

2018

  • Sui, L., Dietrich, J., Emery, M., Rasheed, S., & Tahir, A. (2018, December). On the soundness of call graph construction in the presence of dynamic language features-a benchmark and tool evaluation. In Asian Symposium on Programming Languages and Systems (pp. 69-88). Springer, Cham.
  • Tahir, A., Yamashita, A., Licorish, S., Dietrich, J., & Counsell, S. (2018, June). Can you tell me if it smells? A study on how developers discuss code smells and anti-patterns in Stack Overflow. In Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018 (pp. 68-78).
  • Tahir, A., Bennin, K. E., MacDonell, S. G., & Marsland, S. (2018, October). Revisiting the size effect in software fault prediction models. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (pp. 1-10).

2017

  • Meldrum, S., Savarimuthu, B. T., Licorish, S., Tahir, A., Bosu, M., & Jayakaran, P. (2017). Is knee pain information on YouTube videos perceived to be helpful? An analysis of user comments and implications for dissemination on social media. Digital health, 3, 2055207617698908.
  • Tahir, A., Licorish, S. A., & MacDonell, S. G. (2017, December). Feature Evolution and Reuse-An Exploratory Study of Eclipse. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC) (pp. 582-587). IEEE.
  • Sui, L., Dietrich, J., & Tahir, A. (2017). On the use of mined stack traces to improve the soundness of statically constructed call graphs. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC).
  • Counsell, S., Hall, T., Shippey, T., Bowes, D., Tahir, A., & MacDonell, S. (2017, October). Assert use and defectiveness in industrial code. In 2017 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 20-23). IEEE.
  • Dietrich, J., Jezek, K., Rasheed, S., Tahir, A., & Potanin, A. (2017). Evil pickles: DoS attacks based on object-graph engineering. In 31st European Conference on Object-Oriented Programming (ECOOP 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
  • Dietrich, J., Sui, L., Rasheed, S., & Tahir, A. (2017, June). On the construction of soundness oracles. In Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis (pp. 37-42).