Proceedings of the XXXIII Brazilian Symposium on Software Engineering 2019
DOI: 10.1145/3350768.3350771
|View full text |Cite
|
Sign up to set email alerts
|

Towards a Catalog of Java Dependency Injection Anti-Patterns

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
4
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
8

Relationship

1
7

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 7 publications
1
4
0
Order By: Relevance
“…It is noteworthy that this paper extends our previous conference version [18]. Particularly, this article improves the previous version in seven aspects: (1) We fully document all twelve dependency injection anti-patterns, including source code samples, further details on the negative consequences, and the example solution for every dependency injection antipattern; (2) Regarding the investigation on the occurrence of each proposed dependency injection anti-pattern, we explicitly included the rules applied to the source code; (3) We include the results on the occurrence of dependency injection anti-pattern instances in two closed-source software projects obtained from industry representatives; (4) We included additional details about the expert survey execution; (5) We survey 15 additional practitioners to further assess the acceptance and usefulness of the proposed catalog; (6) In the new survey we analyzed an additional aspect about the willingness of the practitioners on refactoring instances of dependency injection anti-patterns; and lastly; (7) We employ a coding and categorization process to further characterize respondents' opinions over each dependency injection anti-pattern, thus fomenting a refined version of the catalog, which is more closely related to industry needs.…”
Section: Introductionsupporting
confidence: 76%
“…It is noteworthy that this paper extends our previous conference version [18]. Particularly, this article improves the previous version in seven aspects: (1) We fully document all twelve dependency injection anti-patterns, including source code samples, further details on the negative consequences, and the example solution for every dependency injection antipattern; (2) Regarding the investigation on the occurrence of each proposed dependency injection anti-pattern, we explicitly included the rules applied to the source code; (3) We include the results on the occurrence of dependency injection anti-pattern instances in two closed-source software projects obtained from industry representatives; (4) We included additional details about the expert survey execution; (5) We survey 15 additional practitioners to further assess the acceptance and usefulness of the proposed catalog; (6) In the new survey we analyzed an additional aspect about the willingness of the practitioners on refactoring instances of dependency injection anti-patterns; and lastly; (7) We employ a coding and categorization process to further characterize respondents' opinions over each dependency injection anti-pattern, thus fomenting a refined version of the catalog, which is more closely related to industry needs.…”
Section: Introductionsupporting
confidence: 76%
“…The initial results of this work have been presented and awarded at SBES 2019 [Laigner et al 2019] and an extended version with the complete results is currently under the revision at the Journal of Systems and Software [Laigner et al 2021]. The catalog contains DI anti-patterns that occur in practice and are considered useful.…”
Section: Results and Concluding Remarksmentioning
confidence: 99%
“…They observed that a specialized form of DI using syntactic metadata has a higher probability of violating modularity rules, which leads to less cohesion. Similarly, the work by Laigner et al [7] presents a catalog of DI anti-patterns (e.g., framework coupling, intransigent injection) which increase coupling (e.g., by DI annotations, unnecessary dependencies) while decreasing maintainability as opposite to "good" patterns (e.g., GoF patterns [11]).…”
Section: Related Workmentioning
confidence: 99%
“…Existing literature [2]- [5] suggests that the use of DI can help improve the maintainability of software systems. On the other hand, there are also warnings against using DI due to possible negative effects [6], [7].…”
Section: Introductionmentioning
confidence: 99%