Identification and Assessment of Software Design Pattern Violations
June 04, 2019 Β· Declared Dead Β· π Ψ§ΩΩΨ΄Ψ±Ψ© Ψ§ΩΩ ΨΉΩΩΩ Ψ§ΨͺΫΨ© ΩΫ Ψ§ΩΨΨ§Ψ³Ψ¨Ψ§Ψͺ ΩΨ§ΩΩ ΨΉΩΩΩ Ψ§Ψͺ
"No code URL or promise found in abstract"
Evidence collected by the PWNC Scanner
Authors
Tamer Abdelaziz, Aya Sedky, Bruno Rossi, Mostafa-Sami M. Mostafa
arXiv ID
1906.01419
Category
cs.SE: Software Engineering
Citations
1
Venue
Ψ§ΩΩΨ΄Ψ±Ψ© Ψ§ΩΩ
ΨΉΩΩΩ
Ψ§ΨͺΫΨ© ΩΫ Ψ§ΩΨΨ§Ψ³Ψ¨Ψ§Ψͺ ΩΨ§ΩΩ
ΨΉΩΩΩ
Ψ§Ψͺ
Last Checked
5 months ago
Abstract
The validation of design pattern implementations to identify pattern violations has gained more relevance as part of re-engineering processes in order to preserve, extend, reuse software projects in rapid development environments. If design pattern implementations do not conform to their definitions, they are considered a violation. Software aging and the lack of experience of developers are the origins of design pattern violations. It is important to check the correctness of the design pattern implementations against some predefined characteristics to detect and to correct violations, thus, to reduce costs. Currently, several tools have been developed to detect design pattern instances, but there has been little work done in creating an automated tool to identify and validate design pattern violations. In this paper we propose a Design Pattern Violations Identification and Assessment (DPVIA) tool, which has the ability to identify software design pattern violations and report the conformance score of pattern instance implementations towards a set of predefined characteristics for any design pattern definition whether Gang of Four (GoF) design patterns by Gamma et al[1]; or custom pattern by software developer. Moreover, we have verified the validity of the proposed tool using two evaluation experiments and the results were manually checked. Finally, in order to assess the functionality of the proposed tool, it is evaluated with a data-set containing 5,679,964 Lines of Code among 28,669 in 15 open-source projects, with a large and small size of open-source projects that extensively and systematically employing design patterns, to determine design pattern violations and suggest refactoring solutions, thus keeping costs of software evolution. The results can be used by software architects to develop best practices while using design patterns.
Community Contributions
Found the code? Know the venue? Think something is wrong? Let us know!
π Similar Papers
In the same crypt β Software Engineering
R.I.P.
π»
Ghosted
R.I.P.
π»
Ghosted
Microservices: yesterday, today, and tomorrow
π
π
The Cartographer
A Survey of Machine Learning for Big Code and Naturalness
R.I.P.
π»
Ghosted
An Overview on Smart Contracts: Challenges, Advances and Platforms
R.I.P.
π»
Ghosted
Slither: A Static Analysis Framework For Smart Contracts
R.I.P.
π»
Ghosted
ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection
Died the same way β π» Ghosted
R.I.P.
π»
Ghosted
Federated Learning: Strategies for Improving Communication Efficiency
R.I.P.
π»
Ghosted
In-Datacenter Performance Analysis of a Tensor Processing Unit
R.I.P.
π»
Ghosted
Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning
R.I.P.
π»
Ghosted