skip to main content


Search for: All records

Creators/Authors contains: "Yu, Tingting"

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. Continuous integration (CI) has become a popular method for automating code changes, testing, and software project delivery. However, sufficient testing prior to code submission is crucial to prevent build breaks. Additionally, testing must provide developers with quick feedback on code changes, which requires fast testing times. While regression test selection (RTS) has been studied to improve the cost-effectiveness of regression testing for lower-level tests (i.e., unit tests), it has not been applied to the testing of user interfaces (UI) in application domains such as mobile apps. UI testing at the UI level requires different techniques such as impact analysis and automated test execution. In this paper, we examine the use of RTS in CI settings for UI testing across various open-source mobile apps. Our analysis focuses on using Frequency Analysis to understand the need for RTS, Cost Analysis to evaluate the cost of impact analysis and test case selection algorithms, and Test Reuse Analysis to determine the reusability of UI test sequences for automation. The insights from this study will guide practitioners and researchers in developing advanced RTS techniques that can be adapted to CI environments for mobile apps. 
    more » « less
    Free, publicly-accessible full text available October 26, 2024
  2. Free, publicly-accessible full text available July 12, 2024
  3. Unit testing focuses on verifying the functions of individual units of a software system. It is challenging due to the high inter dependencies among software units. Developers address this by mocking—replacing the dependency by a “fake” object. Despite the existence of powerful, dedicated mocking frameworks, developers often turn to a “hand-rolled” approach—inheritance. That is, they create a subclass of the dependent class and mock its behavior through method overriding. However, this requires tedious implementation and compromises the design quality of unit tests. This work contributes a fully automated refactoring framework to identify and replace the usage of inheritance by using Mockito—a well received mocking framework. Our approach is built upon the empirical experience from five open source projects that use inheritance for mocking. We evaluate our approach on nine other projects. Results show that our framework is efficient, generally applicable to new datasets, mostly preserves test case behaviors in detecting defects (in the form of mutants), and decouples test code from production code. The qualitative evaluation by experienced developers suggests that the auto-refactoring solutions generated by our framework improve the quality of the unit test cases in various aspects, such as making test conditions more explicit, as well as improved cohesion, readability, understandability, and maintainability with test cases. Finally, we submit 23 pull requests containing our refactoring solutions to the open-source projects. It turns out that, 9 requests are accepted/merged, 6 requests are rejected, the remaining requests are pending (5 requests), with unexpected exceptions (2 requests), or undecided (1 request). In particular, among the 21 open source developers that are involved in the reviewing process, 81% give positive votes. This indicates that our refactoring solutions are quite well received by the open-source projects and developers. 
    more » « less
  4. Summary

    Allopolyploidization may initiate rapid evolution due to heritable karyotypic changes. The types and extents of these changes, the underlying causes, and their effects on phenotype remain to be fully understood.

    Here, we designed experimental populations suitable to address these issues using a synthetic allotetraploid wheat.

    We show that extensive variation in both chromosome number (NCV) and structure (SCV) accumulated in a selfed population of a synthetic allotetraploid wheat (genome SbSbDD). The combination of NCVs and SCVs generated massive organismal karyotypic heterogeneity. NCVs and SCVs were intrinsically correlated and highly variable across the seven sets of homoeologous chromosomes. Both NCVs and SCVs stemmed from meiotic pairing irregularity (presumably homoeologous pairing) but were also constrained by homoeologous chromosome compensation. We further show that homoeologous meiotic pairing was positively correlated with sequence synteny at the subtelomeric regions of both chromosome arms, but not with genic nucleotide similarityper se. Both NCVs and SCVs impacted phenotypic traits but only NCVs caused significant reduction in reproductive fitness.

    Our results implicate factors influencing meiotic homoeologous chromosome pairing and reveal the type and extent of karyotypic variation and its immediate phenotypic manifestation in synthetic allotetraploid wheat. This has relevance for our understanding of allopolyploid evolution.

     
    more » « less
    Free, publicly-accessible full text available July 1, 2024
  5. The large demand of mobile devices creates significant concerns about the quality of mobile applications (apps). Developers heavily rely on bug reports in issue tracking systems to reproduce failures (e.g., crashes). However, the process of crash reproduction is often manually done by developers, making the resolution of bugs inefficient, especially given that bug reports are often written in natural language. To improve the productivity of developers in resolving bug reports, in this paper, we introduce a novel approach, called ReCDroid+, that can automatically reproduce crashes from bug reports for Android apps. ReCDroid+ uses a combination of natural language processing (NLP) , deep learning, and dynamic GUI exploration to synthesize event sequences with the goal of reproducing the reported crash. We have evaluated ReCDroid+ on 66 original bug reports from 37 Android apps. The results show that ReCDroid+ successfully reproduced 42 crashes (63.6% success rate) directly from the textual description of the manually reproduced bug reports. A user study involving 12 participants demonstrates that ReCDroid+ can improve the productivity of developers when resolving crash bug reports. 
    more » « less
  6. null (Ed.)
    Unit testing focuses on verifying the functions of individual units of a software system. It is challenging due to the high inter-dependencies among software units. Developers address this by mocking-replacing the dependency by a "faked" object. Despite the existence of powerful, dedicated mocking frameworks, developers often turn to a "hand-rolled" approach-inheritance. That is, they create a subclass of the dependent class and mock its behavior through method overriding. However, this requires tedious implementation and compromises the design quality of unit tests. This work contributes a fully automated refactoring framework to identify and replace the usage of inheritance by using Mockito-a well received mocking framework. Our approach is built upon the empirical experience from five open source projects that use inheritance for mocking. We evaluate our approach on four other projects. Results show that our framework is efficient, generally applicable to new datasets, mostly preserves test case behaviors in detecting defects (in the form of mutants), and decouples test code from production code. The qualitative evaluation by experienced developers suggests that the auto-refactoring solutions generated by our framework improve the quality of the unit test cases in various aspects, such as making test conditions more explicit, as well as improved cohesion, readability, understandability, and maintainability with test cases. 
    more » « less
  7. null (Ed.)
  8. null (Ed.)
  9. Abstract

    The ratio of O to N2number densities (O/N2) at different altitudes is an important parameter in describing thermospheric neutral composition changes and their effects on the ionosphere during geomagnetic storms. However, storm‐induced vertical variations in O/N2and its dependence on the O and N2perturbations are still not fully understood. Here, the Thermosphere/Ionosphere Electrodynamics General Circulation Model simulations were used to investigate the responses of thermospheric composition at different pressure levels to the super geomagnetic storm occurred on November 20 and 21 in 2003. Our analysis shows that the behaviors of O/N2perturbations on different pressure levels are similar above ∼180 km altitude. In the middle and low thermosphere of below ∼300 km, the storm‐time O/N2decrease is mainly caused by a large reduction of O number density. However, N2enhancement plays a vital role in O/N2decreases in the upper thermosphere. The O/N2enhancement is mainly attributed to the N2decreases at all pressure levels. The changes of O and N2number densities at a constant pressure level can be explained by the perturbations of their mass mixing ratio (mmr) and total mass density (ρ). The regions of the O/N2decrease are characterized by the O mmr decrease and N2mmr enhancement, whereas the regions of the O/N2increase are characterized by the O mmr increase and N2mmr decrease. Theρvalue that shows the decrease globally at most pressure levels during the storm either enhance or reduce the O and N2perturbations.

     
    more » « less