An analysis of tools for automatic software development and automatic code generation

Software development is an important area in software engineering, which is why a wide range of techniques, methods, and approaches has emerged to facilitate software development automation. This paper presents an analysis and evaluation of tools for automated software development and automatic code generation in order to determine whether they meet a set of quality metrics. Diverse quality metrics were considered such as effectiveness, productivity, safety, and satisfaction in order to carry out a qualitative and quantitative evaluation. The tools evaluated are CASE tools, frameworks, and Integrated Development Environments (IDEs). The evaluation was conducted to measure not only the tools’ ability to be employed, but also their support for automated software development and automatic source code generation. The aim of this work is to provide a methodology and a brief review of the most important works to identify the main features of these works and present a comparative evaluation in qualitative and quantitative terms of quality metrics. This would provide software developers with the information they need to decide the tools that can be useful for them.

[1]  Martin Höst,et al.  UML and SystemC - Comparison and Mapping Rules for Automatic Code Generation , 2007, FDL.

[2]  Rossana M. de Castro Andrade,et al.  XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices , 2008, J. Syst. Softw..

[3]  Brian W. Kernighan,et al.  Software tools in Pascal , 1976 .

[4]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[5]  Pete Sawyer,et al.  Requirements Engineering: A Good Practice Guide , 1997 .

[6]  Ettore Merlo,et al.  Generating user interfaces from specifications produced by a reverse engineering process , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[7]  Matthew B. Dwyer,et al.  Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems , 2004, FASE.

[8]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[9]  Dayang N. A. Jawawi,et al.  Aspect-oriented model-driven code generation: A systematic mapping study , 2013, Inf. Softw. Technol..

[10]  Yuri B. Danilchenko Automatic code generation using artificial intelligence. , 2012 .

[11]  Valeriy Vyatkin,et al.  Model-Driven Development of Control Software for Distributed Automation: A Survey and an Approach , 2014, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[12]  Günter Wozny,et al.  MOSAIC a web-based modeling environment for code generation , 2011, Comput. Chem. Eng..

[13]  Barbara Kitchenham,et al.  DESMET: a methodology for evaluating software engineering methods and tools , 1997 .

[14]  Tommi Mikkonen,et al.  Developing an Open Source Integrated Development Environment for a Mobile Device , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[15]  Pierre-Etienne Moreau,et al.  An Integrated Development Environment for Pattern Matching Programming , 2004, Electron. Notes Theor. Comput. Sci..

[16]  Eliseo Ranzi,et al.  A review of features in current automatic generation software for hydrocarbon oxidation mechanisms , 2008, Comput. Chem. Eng..

[17]  James M. Bieman,et al.  Testing scientific software: A systematic literature review , 2014, Inf. Softw. Technol..

[18]  Cláudia Maria Lima Werner,et al.  Reconciling software development models: A quasi-systematic review , 2012, J. Syst. Softw..

[19]  Roberto Torres,et al.  A Tool for Automatic Code Generation from Schemas , 2009, ICCS.

[20]  Saul I. Gass,et al.  The Analytic Hierarchy Process - An Exposition , 2001, Oper. Res..

[21]  Ursula Faber,et al.  Requirements Engineering A Good Practice Guide , 2016 .

[22]  Giner Alor-Hernández,et al.  AlexandRIA: A Visual Tool for Generating Multi-device Rich Internet Applications , 2013, J. Web Eng..

[23]  Diego Alonso,et al.  Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks , 2012 .

[24]  Philip B. Crosby,et al.  Quality Is Free: The Art of Making Quality Certain , 1979 .

[25]  Wilbert O. Galitz,et al.  The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques , 1996 .

[26]  Fernando Losilla,et al.  Automatic Ada Code Generation Using a Model-Driven Engineering Approach , 2007, Ada-Europe.

[27]  Paulo Cézar Stadzisz,et al.  A Brazilian survey on UML and model-driven practices for embedded software development , 2013, J. Syst. Softw..

[28]  Ahmed E. Hassan,et al.  Studying software evolution using topic models , 2014, Sci. Comput. Program..

[29]  Melissa A. Schilling Toward a General Modular Systems Theory and Its Application to Interfirm Product Modularity , 2000 .

[30]  Young-Jun Seo,et al.  A Study on Automatic Code Generation Tool from Design Patterns Based on the XMI , 2006, ICCSA.

[31]  Carlos Mario Zapata,et al.  A CONCEPTUAL APPROACH TO AUTOMATIC GENERATION OF CODE , 2010 .

[32]  T. Martin McGinnity,et al.  Issues in the development of an integrated environment for embedded system design: Part B: design and implementation , 1999, Microprocess. Microsystems.

[33]  N. Ranganathan,et al.  An automatic code generation tool for partitioned software in distributed systems , 2006, 19th International Conference on VLSI Design held jointly with 5th International Conference on Embedded Systems Design (VLSID'06).

[34]  Mario Andrés Paredes-Valverde,et al.  A systematic review of tools, languages, and methodologies for mashup development , 2015, Softw. Pract. Exp..

[35]  Manoel G. Mendonça,et al.  Software evolution visualization: A systematic mapping study , 2013, Inf. Softw. Technol..

[36]  Mark N. Frolick,et al.  Computer-aided software engineering: The determinants of an effective implementation strategy , 1995, Inf. Manag..

[37]  Ying Jing Research on computer-aided prototyping system and software evolution , 2000 .

[38]  R. G. Dromey,et al.  Cornering the Chimera , 1996, IEEE Softw..

[39]  S.S. Erdogan,et al.  EDEN: an integrated computer-aided software engineering environment , 1989, Eighth Annual International Phoenix Conference on Computers and Communications. 1989 Conference Proceedings.

[40]  Mario Piattini,et al.  Problems and Solutions in Distributed Software Development: A Systematic Review , 2008, SEAFOOD.

[41]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..

[42]  Haode Liao,et al.  A Study of Automatic Code Generation , 2010, 2010 International Conference on Computational and Information Sciences.

[43]  Thomas L. Saaty,et al.  Group Decision Making: Drawing Out and Reconciling Differences , 2007 .

[44]  S. Tilley,et al.  VULCAN: A Tool for Automatically Generating Code from Design Patterns , 2008, 2008 2nd Annual IEEE Systems Conference.

[45]  P. A. Richards,et al.  Factors in software quality: concept and definitions of software quality , 1977 .

[46]  E. Merlo,et al.  Generating user interfaces from specifications produced by a reverse engineering process , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[47]  R. Likert “Technique for the Measurement of Attitudes, A” , 2022, The SAGE Encyclopedia of Research Design.