Matches in SemOpenAlex for { <https://semopenalex.org/work/W4313140941> ?p ?o ?g. }
- W4313140941 endingPage "2814" @default.
- W4313140941 startingPage "2791" @default.
- W4313140941 abstract "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 <italic xmlns:mml=http://www.w3.org/1998/Math/MathML xmlns:xlink=http://www.w3.org/1999/xlink>five</i> open source projects that use inheritance for mocking. We evaluate our approach on <italic xmlns:mml=http://www.w3.org/1998/Math/MathML xmlns:xlink=http://www.w3.org/1999/xlink>nine</i> 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 our 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." @default.
- W4313140941 created "2023-01-06" @default.
- W4313140941 creator A5000773809 @default.
- W4313140941 creator A5031282557 @default.
- W4313140941 creator A5033997612 @default.
- W4313140941 creator A5051176723 @default.
- W4313140941 creator A5078461457 @default.
- W4313140941 date "2023-04-01" @default.
- W4313140941 modified "2023-10-12" @default.
- W4313140941 title "From Inheritance to Mockito: An Automatic Refactoring Approach" @default.
- W4313140941 cites W1637866372 @default.
- W4313140941 cites W1777576722 @default.
- W4313140941 cites W1963510760 @default.
- W4313140941 cites W1965258874 @default.
- W4313140941 cites W1969191237 @default.
- W4313140941 cites W1975790660 @default.
- W4313140941 cites W1979885578 @default.
- W4313140941 cites W1991242370 @default.
- W4313140941 cites W1997090065 @default.
- W4313140941 cites W2000651459 @default.
- W4313140941 cites W2002753905 @default.
- W4313140941 cites W2003148182 @default.
- W4313140941 cites W2016098582 @default.
- W4313140941 cites W2017243662 @default.
- W4313140941 cites W2040867412 @default.
- W4313140941 cites W2044802063 @default.
- W4313140941 cites W2049055220 @default.
- W4313140941 cites W2056952837 @default.
- W4313140941 cites W2067846816 @default.
- W4313140941 cites W2077118916 @default.
- W4313140941 cites W2083813723 @default.
- W4313140941 cites W2091680554 @default.
- W4313140941 cites W2112778116 @default.
- W4313140941 cites W2115685157 @default.
- W4313140941 cites W2116693957 @default.
- W4313140941 cites W21169582 @default.
- W4313140941 cites W2120936810 @default.
- W4313140941 cites W2127938826 @default.
- W4313140941 cites W2133414060 @default.
- W4313140941 cites W2138068140 @default.
- W4313140941 cites W2143712427 @default.
- W4313140941 cites W2148489364 @default.
- W4313140941 cites W2150423966 @default.
- W4313140941 cites W2155995683 @default.
- W4313140941 cites W2163736745 @default.
- W4313140941 cites W2166993820 @default.
- W4313140941 cites W2167066978 @default.
- W4313140941 cites W2170344504 @default.
- W4313140941 cites W2171383742 @default.
- W4313140941 cites W2395052532 @default.
- W4313140941 cites W2400579873 @default.
- W4313140941 cites W2403188685 @default.
- W4313140941 cites W2508117657 @default.
- W4313140941 cites W2629457583 @default.
- W4313140941 cites W2770290320 @default.
- W4313140941 cites W2897824921 @default.
- W4313140941 cites W2900136781 @default.
- W4313140941 cites W2900961173 @default.
- W4313140941 cites W2993406914 @default.
- W4313140941 cites W3097650561 @default.
- W4313140941 cites W3113869096 @default.
- W4313140941 cites W3194657764 @default.
- W4313140941 cites W4231917996 @default.
- W4313140941 doi "https://doi.org/10.1109/tse.2022.3231850" @default.
- W4313140941 hasPublicationYear "2023" @default.
- W4313140941 type Work @default.
- W4313140941 citedByCount "0" @default.
- W4313140941 crossrefType "journal-article" @default.
- W4313140941 hasAuthorship W4313140941A5000773809 @default.
- W4313140941 hasAuthorship W4313140941A5031282557 @default.
- W4313140941 hasAuthorship W4313140941A5033997612 @default.
- W4313140941 hasAuthorship W4313140941A5051176723 @default.
- W4313140941 hasAuthorship W4313140941A5078461457 @default.
- W4313140941 hasConcept C104054115 @default.
- W4313140941 hasConcept C104317684 @default.
- W4313140941 hasConcept C115903868 @default.
- W4313140941 hasConcept C117447612 @default.
- W4313140941 hasConcept C148027188 @default.
- W4313140941 hasConcept C152752567 @default.
- W4313140941 hasConcept C160713754 @default.
- W4313140941 hasConcept C178790620 @default.
- W4313140941 hasConcept C185592680 @default.
- W4313140941 hasConcept C199360897 @default.
- W4313140941 hasConcept C2777904410 @default.
- W4313140941 hasConcept C2778143727 @default.
- W4313140941 hasConcept C2780902518 @default.
- W4313140941 hasConcept C41008148 @default.
- W4313140941 hasConcept C43126263 @default.
- W4313140941 hasConcept C529173508 @default.
- W4313140941 hasConcept C55493867 @default.
- W4313140941 hasConceptScore W4313140941C104054115 @default.
- W4313140941 hasConceptScore W4313140941C104317684 @default.
- W4313140941 hasConceptScore W4313140941C115903868 @default.
- W4313140941 hasConceptScore W4313140941C117447612 @default.
- W4313140941 hasConceptScore W4313140941C148027188 @default.
- W4313140941 hasConceptScore W4313140941C152752567 @default.
- W4313140941 hasConceptScore W4313140941C160713754 @default.
- W4313140941 hasConceptScore W4313140941C178790620 @default.