An Analysis System for Mobile Applications MVC Software Architectures

Mobile applications are software systems that are highly used by all modern people; a vast majority of those are intricate systems. Due to their increase in complexity, the architectural pattern used plays a significant role in their lifecycle. Architectural patterns can not be enforced on a codebase without the aid of an external tool; with this idea in mind, the current paper describes a novel technique for an automatically analysis of Model View Controller mobile application codebases from an architectural point of view. The analysis takes into account the constraints imposed by this layered architecture and offers insightful metrics regarding the architectural health of the codebase, while also highlighting the architectural issues. Both open source and private codebases have been analysed by the proposed approach and the results indicate an average accuracy of 89.6% of the evaluation process.

[1]  Sebastián Ventura,et al.  Interactive multi-objective evolutionary optimization of software architectures , 2018, Inf. Sci..

[2]  Sloan Kelly,et al.  Model View Controller , 2016 .

[3]  Marco Tulio Valente,et al.  Mining Architectural Patterns Using Association Rules , 2013, SEKE.

[4]  Peng Liang,et al.  A Cooperative Coevolution Approach to Automate Pattern-based Software Architectural Synthesis , 2014, Int. J. Softw. Eng. Knowl. Eng..

[5]  Alvine Boaye Belle Recovering software layers from object oriented systems : a formalization as an optimization problem , 2016 .

[6]  Nenad Medvidovic,et al.  An Empirical Study of Architectural Change in Open-Source Software Systems , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[7]  Hafedh Mili,et al.  The Layered Architecture revisited: Is it an Optimization Problem? , 2013, SEKE.

[8]  Ricardo Terra,et al.  A dependency constraint language to manage object-oriented software architectures , 2009 .

[9]  Thelma Elita Colanzi,et al.  Preserving architectural styles in the search based design of software product line architectures , 2016, J. Syst. Softw..

[10]  Sajjad Hussain Investigating Architecture Description Languages (ADLs) A Systematic Literature Review , 2013 .

[11]  하승범,et al.  분산화된 차세대 Controller , 1997 .

[12]  Nenad Medvidovic,et al.  A comparative analysis of software architecture recovery techniques , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[13]  Soo Dong Kim,et al.  Balanced MVC Architecture for Developing Service-Based Mobile Applications , 2010, 2010 IEEE 7th International Conference on E-Business Engineering.

[14]  Raffaele Garofalo Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern , 2011 .

[15]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[16]  Trygve Reenskaug,et al.  The Model-View-Controller (MVC) Its Past and Present , 2003 .

[17]  Giuseppe Scanniello,et al.  Weighing lexical information for software clustering in the context of architecture recovery , 2015, Empirical Software Engineering.

[18]  Xavier Franch,et al.  Ontology-Based Architectural Knowledge Representation: Structural Elements Module , 2011, CAiSE Workshops.

[19]  Mike Potel,et al.  MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java , 1996 .

[20]  Santonu Sarkar,et al.  Discovery of architectural layers and measurement of layering violations in source code , 2009, J. Syst. Softw..

[21]  Mark Harman,et al.  An Empirical Study of Cohesion and Coupling: Balancing Optimization and Disruption , 2018, IEEE Transactions on Evolutionary Computation.

[22]  Jing Liu,et al.  A similarity-based modularization quality measure for software module clustering problems , 2016, Inf. Sci..

[23]  Rainer Koschke Incremental reflexion analysis , 2013, J. Softw. Evol. Process..

[24]  Ivar Jacobson,et al.  Unified Modeling Language Reference Manual, The (2nd Edition) , 2004 .

[25]  Morgan Ericsson,et al.  Towards improved initial mapping in semi automatic clustering , 2018, ECSA.

[26]  Keqing He,et al.  A replicated experiment on architecture pattern recommendation based on quality requirements , 2014, 2014 IEEE 5th International Conference on Software Engineering and Service Science.