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.
I. Sommerville and P. Sawyer, Requirements engineering: a good practice guide, 1st ed. New York, USA: John Wiley & Sons, Inc., 1997.
I. Sommerville, Software Engineering. International computer science series, 8th ed. Boston, USA: AddisonWesley Longman Publishing Co., Inc., 2004.
C. Zapata and J. Chaverra, “Una mirada conceptual a la generación automática de código”, Rev. EIA. Esc. Ing. Antioq, no. 13, pp. 155-169, 2010.
B. Kernighan and P. Plauger, Software tools in Pascal, 1st ed. Boston, USA: Addison-Wesley, 1981.
D. Kuhn, “Selecting and effectively using a computer aided software engineering tool,” in Annual Westinghouse computer symposium, Pittsburgh, USA, 1989.
L. Agner, I. Soares, P. Stadzisz and J. Simão, “A Brazilian survey on UML and model-driven practices for embedded software development”, Journal of Systems and Software, vol. 86, no. 4, pp. 997-1005, 2013.
S. Pierucci and E. Ranzi, “A review of features in current automatic generation software for hydrocarbon oxidation mechanisms”, Comput. Chem. Eng., vol. 32, no. 4-5, pp. 805-826, 2008.
S. Anand et al., “An Orchestrated Survey of Methodologies for Automated Software Test Case Generation”, J. Syst. Softw., vol. 86, no. 8, pp. 1978- 2001, 2013.
R. Novais, A. Torres, T. Mendes, M. Mendonça, and N. Zazworka, “Software evolution visualization: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 11, pp. 1860-1883, 2013.
S. Thomas, B. Adams, A. Hassan and D. Blostein, “Studying software evolution using topic models”, Sci. Comput. Program., vol. 80, Part B, pp. 457-479, 2014.
U. Kanewala and J. Bieman, “Testing Scientific Software: A Systematic Literature Review”, Inf. Softw. Technol., vol. 56, no. 10, pp. 1219-1232, 2014.
A. Magdaleno, C. Werner and R. Araujo, “Reconciling software development models: A quasi-systematic review”, J. Syst. Softw., vol. 85, no. 2, pp. 351-369, 2012.
A. Mehmood and D. Jawawi, “Aspect-oriented modeldriven code generation: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 2, pp. 395-411, 2013.
D. Alonso, J. Pastor, P. Sánchez, B. Álvarez and C. Vicente, “Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks”, Rev. Iberoam. Automática e Informática Ind. RIAI, vol. 9, no. 2, pp. 170- 181, 2012.
C. Yang, V. Vyatkin and C. Pang, “Model-Driven Development of Control Software for Distributed Automation: A Survey and an Approach”, IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 44, no. 3. pp. 292-305, 2014.
H. Liao, J. Jiang and Y. Zhang, “A Study of Automatic Code Generation”, in 2010 International Conference on Computational and Information Sciences (ICCIS), Chengdu, China, 2010, pp. 689-691.
M. Jiménez and M. Piattini, “Problems and Solutions in Distributed Software Development: A Systematic Review”, in 2nd International Conference on Software Engineering Approaches for Offshore and Outsourced Development (SEAFOOD), Zurich, Switzerland, 2008, pp. 107-125.
Y. Seo and Y. Song, “A Study on Automatic Code Generation Tool from Design Patterns Based on the XMI”, in 2006 International Conference on Computational Science and Its Applications (ICCSA), Glasgow, UK, 2006, pp. 864-872.
P. Andersson and M. Höst, “UML and SystemC - A Comparison and Mapping Rules for Automatic Code Generation”, in Embedded Systems Specification and Design Languages, E. Villar (ed). Amsterdam, Netherlands: Springer, 2008, pp. 199-209.
R. Urwiler, N. Ramarapu, R. Wilkes and M. Frolick, “Computer-aided software engineering: The determinants of an effective implementation strategy”, Inf. Manag., vol. 29, no. 4, pp. 215-225, 1995.
Y. Jing, “Research on computer-aided prototyping system and software evolution”, J. Zhejiang Univ. Sci. A, vol. 1, no. 4, pp. 384-387, 2000.
V. Sairaman, N. Ranganathan and N. Singh, “An automatic code generation tool for partitioned software in distributed systems”, in 19th International Conference on VLSI Design. Held jointly with 5th International Conference on Embedded Systems and Design, Hyderabad, India, 2006, pp. 477-480.
A. Gavilanes, P. Martín and R. Torres, “A Tool for Automatic Code Generation from Schemas”, in 9th International Conference on Computational Science (ICCS), Baton Rouge, USA, 2009, pp. 63-73.
S. Erdogan, S. McFarr and D. Maglidt, “EDEN: an integrated computer-aided software engineering environment”, in 8th Annual International Phoenix Conference on Computers and Communications, Scottsdale, USA, 1989, pp. 349-353.
Visual Paradigm International, Company. [Online]. Available: http://www.visual-paradigm.com/aboutus/. Accessed on: Jan. 20, 2015.
PowerDesigner, SAP Sybase PowerDesigner 16.5, 2013. [Online]. Available: http://www.powerdesigner.de/en/. Accessed on: Jan. 20, 2015.
L. Maguire, T. McGinnity and L. McDaid, “Issues in the development of an integrated environment for embedded system design: Part B: design and implementation”, Microprocess. Microsyst., vol. 23, no. 4, pp. 199-206, 1999.
A. Childs et al., “Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems”, in 7th International Conference on Fundamental Approaches to Software Engineering (FASE), Barcelona, Spain, 2004, pp. 160- 164.
J. Jarvensivu, M. Kosola, M. Kuusipalo, P. Reijula and T. Mikkonen, “Developing an Open Source Integrated Development Environment for a Mobile Device”, in International Conference on Software Engineering Advances (ICSEA), Tahiti, France, 2006, p. 55.
W. Viana and R. Andrade, “XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices”, J. Syst. Softw., vol. 81, no. 3, pp. 382-394, 2008.
S. Kuntsche, T. Barz, R. Kraus, H. Arellano and G. Wozny, “MOSAIC a web-based modeling environment for code generation”, Comput. Chem. Eng., vol. 35, no. 11, pp. 2257-2273, 2011.
JetBrains, IntelliJ IDEA, The Most Intelligent Java IDE, 2015. [Online]. Available: https://www.jetbrains.com/idea/. Accessed on: Jan. 20, 2015.
A. Elwahidi and E. Merlo, “Generating user interfaces from specifications produced by a reverse engineering process”, in 2nd Working Conference on Reverse Engineering, Toronto, Canada, 1995, pp. 292-298.
J. Guyon, P. Moreau and A. Reilles, “An Integrated Development Environment for Pattern Matching Programming”, Electron. Notes Theor. Comput. Sci., vol. 107, pp. 33-49, 2004.
D. Alonso, C. Vicente, P. Sánchez, B. Álvarez and F. Losilla, “Automatic Ada Code Generation Using a Model-Driven Engineering Approach”, in 12th AdaEurope International Conference on Reliable Software Technologies, Geneva, Switzerland, 2007, pp. 168-179.
G. Frederick, P. Bond and S. Tilley, “VULCAN: A Tool for Automatically Generating Code from Design Patterns”, in 2nd Annual IEEE Systems Conference, Montreal, Canada, 2008, pp. 1-4.
Y. Danilchenko, “Automatic Code Generation Using Artificial Intelligence”, Ph.D. dissertation, Northern Kentucky University, Kentucky, USA, 2012.
Adobe, Adobe Dreamweaver CC, 2015. [Online]. Available: http://www.adobe.com/mx/products/dreamweaver.html. Accessed on: Jan. 20, 2015.
J. Mccall, P. Richards and G. Walters, “Factors in Software Quality: Concept and Definitions of Software Quality”, Air Force Systems Command, Rome Air Development Center, New York, USA, Final Tech. Rep. RADC-TR-77-369, Nov. 1977.
B. Boehm, J. Brown and M. Lipow, “Quantitative Evaluation of Software Quality”, in 2nd International Conference on Software Engineering (ICSE), Los Alamitos, USA, 1976, pp. 592-605.
R. Dromey, “Cornering the chimera”, IEEE Softw., vol. 13, no. 1, pp. 33-43, 1996.
P. Crosby, Quality is Free: The Art of Making Quality Certain, 1st ed. Michigan, USA: McGraw-Hill, 1979.
W. Deming, Out of the Crisis, 1st ed. Massachusetts, USA: The Mit Press, 2000.
A. Feigenbaum, Total quality control: Achieving productivity, market penetration and advantage in the global economy, 4th ed. New York, USA: McGraw-Hill Education, 2005.
International Organization for Standardization (ISO), Software engineering - Product quality - Part 1: Quality Model, ISO/IEC 9126-1:2001, 2001.
B. Kitchenham, S. Linkman and D. Law, “DESMET: a methodology for evaluating software engineering methods and tools”, Computing & Control Engineering Journal, vol. 8, no. 3. pp. 120-126, 1997.
E. Forman and S. Gass, “The Analytic Hierarchy Process - An Exposition”, Oper. Res., vol. 49, no. 4, pp. 469-486, 2001.
T. Saaty and K. Peniwati, Group Decision Making: Drawing Out and Reconciling Differences, 1st ed. Pittsburgh, USA: RWS Publications, 2008.
R. Likert, “A technique for the measurement of attitudes”, Archives of psychology, vol. 22, no. 140, pp. 5-55, 1932.
A. Sutcliffe, N. Maiden, S. Minocha and D. Manuel, “Supporting scenario-based requirements engineering”, IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1072-1088, 1998.
M. Paredes, G. Alor, A. Rodríguez, R. Valencia and E. Jiménez, “A systematic review of tools, languages, and methodologies for mashup development”, Softw. Pract. Exp., vol. 45, no. 3, pp. 365-397, 2015.
L. Colombo, G. Alor, A. Rodríguez and R. Colomo, “Alexandria: A Visual Tool for Generating Multi-device Rich Internet Applications”, J. Web Eng., vol. 12, no. 3-4, pp. 317-359, 2013.
W. Galitz, The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques, 2nd ed. Ed. New York, USA: John Wiley & Sons, Inc., 1997.
International Organization for Standardization (ISO), Ergonomic requirements for office work with visual display terminals (VDTs) - Part 11: Guidance on usability, ISO 9241-11:1998, 1998.
A. Schilling, “Toward A General Modular Systems Theory and Its Application to Interfirm Product Modularity”, Academy of Management Review, vol. 25, no. 2, pp. 312-334, 2000.
Copyright (c) 2015 Revista Facultad de Ingeniería Universidad de Antioquia
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Authors can archive the pre-print version (i.e., the version prior to peer review) and post-print version (that is, the final version after peer review and layout process) on their personal website, institutional repository and / or thematic repository
- Upon acceptance of an article, it will be published online through the page https://revistas.udea.edu.co/index.php/ingenieria/issue/archive in PDF version with its correspondent DOI identifier
The Revista Facultad de Ingeniería -redin- encourages the Political Constitution of Colombia, chapter IV
Chapter IV Sanctions 51
The following shall be liable to imprisonment for two to five years and a fine of five to 20 times the legal minimum monthly wage: (1) any person who publishes an unpublished literary or artistic work, or part thereof, by any means, without the express prior authorization of the owner of rights; (2) any person who enters in the National Register of Copyright a literary, scientific or artistic work in the name of a person other than the true author, or with its title altered or deleted, or with its text altered, deformed, amended or distorted, or with a false mention of the name of the publisher or phonogram, film, videogram or software producer; (3) any person who in any way or by any means reproduces, disposes of, condenses, mutilates or otherwise transforms a literary, scientific or artistic work without the express prior authorization of the owners thereof; (4) any person who reproduces phonograms, videograms, software or cinematographic works without the express prior authorization of the owner, or transports, stores, stocks, distributes, imports, sells, offers for sale, acquires for sale or distribution or in any way deals in such reproductions. Paragraph. If either the material embodiment or title page of or the introduction to the literary work, phonogram, videogram, software or cinematographic work uses the name, business style, logotype or distinctive mark of the lawful owner of rights, the foregoing sanctions shall be increased by up to half.