Special Issue "Code Generation, Analysis and Quality Testing"

A special issue of Computers (ISSN 2073-431X).

Deadline for manuscript submissions: closed (30 September 2019).

Special Issue Editors

Prof. Alberto Simões
Website
Guest Editor
Applied Artificial Intelligence Lab, Instituto Politécnico do Cávado e do Ave, 4750-810 Barcelos, Portugal
Interests: natural language processing; compilers; procedural content generation
Special Issues and Collections in MDPI journals
Prof. Ricardo Queirós
Website
Guest Editor
School of Media Arts and Design, Polytechnic Institute of Porto, 4200-465 Porto, Portugal
Interests: e-learning interoperability; computer programming education; gamification
Special Issues and Collections in MDPI journals
Prof. Mário Pinto
Website
Guest Editor
School of Media Arts and Design, Polytechnic Institute of Porto, 4200-465 Porto, Portugal
Interests: computer programming education; gamification; knowledge management
Special Issues and Collections in MDPI journals

Special Issue Information

Dear Colleagues,

Programming is still a mainly manual process. The amount of detail a programmer needs to consider while developing and algorithm can be quite large. To help programmers, there are three main areas of research:

1) Code Generation: The development of tools to generate code based on domai- specific languages. Some good old examples are compiler generators, like flex or yacc. Other more recent tools follow this idea, like Microsoft Entity Framework, or the VDMTools specification language. Nevertheless, there is still room for improvement and automation;

2) Code Analysis: A large amount of code is running on a daily basis on the planet. While some code is quite recent, there is a large amount of legacy software still running. Either to keep legacy software running smoothly, or to help finding bugs in recently developed software, there are tools and companies dedicated to analyzing code, finding its flaws. Unfortunately, most of these tools do static analysis and still have limitations when it comes to detecting some critical situations;

3) Code Testing: Related to the analysis of software is software quality testing. In the last few years, a large number of programmers have been adopting agile techniques that foster the usage of test-driven development, feature-driven development, and continuous integration and deployment. The main drawback is that tests are being written by the same programmers developing applications, making the development slower, and resulting in biased unit tests.

This Special Issue’s main focus is the development of tools and practices to help developers in these three aspects.

Prof. Alberto Simões
Prof. Ricardo Queirós
Prof. Mário Pinto
Guest Editors

Manuscript Submission Information

Manuscripts should be submitted online at www.mdpi.com by registering and logging in to this website. Once you are registered, click here to go to the submission form. Manuscripts can be submitted until the deadline. All papers will be peer-reviewed. Accepted papers will be published continuously in the journal (as soon as accepted) and will be listed together on the special issue website. Research articles, review articles as well as short communications are invited. For planned papers, a title and short abstract (about 100 words) can be sent to the Editorial Office for announcement on this website.

Submitted manuscripts should not have been published previously, nor be under consideration for publication elsewhere (except conference proceedings papers). All manuscripts are thoroughly refereed through a single-blind peer-review process. A guide for authors and other relevant information for submission of manuscripts is available on the Instructions for Authors page. Computers is an international peer-reviewed open access quarterly journal published by MDPI.

Please visit the Instructions for Authors page before submitting a manuscript. The Article Processing Charge (APC) for publication in this open access journal is 1000 CHF (Swiss Francs). Submitted papers should be well formatted and use good English. Authors may use MDPI's English editing service prior to publication or during author revisions.

Keywords

  • automated development
  • code generation
  • quality assessment
  • static code analysis
  • unit testing
  • automatic code tests
  • code quality metrics

Published Papers (2 papers)

Order results
Result details
Select all
Export citation of selected articles as:

Research

Open AccessArticle
Design and Implementation of SFCI: A Tool for Security Focused Continuous Integration
Computers 2019, 8(4), 80; https://doi.org/10.3390/computers8040080 - 01 Nov 2019
Abstract
Software security is a component of software development that should be integrated throughout its entire development lifecycle, and not simply as an afterthought. If security vulnerabilities are caught early in development, they can be fixed before the software is released in production environments. [...] Read more.
Software security is a component of software development that should be integrated throughout its entire development lifecycle, and not simply as an afterthought. If security vulnerabilities are caught early in development, they can be fixed before the software is released in production environments. Furthermore, finding a software vulnerability early in development will warn the programmer and lessen the likelihood of this type of programming error being repeated in other parts of the software project. Using Continuous Integration (CI) for checking for security vulnerabilities every time new code is committed to a repository can alert developers of security flaws almost immediately after they are introduced. Finally, continuous integration tests for security give software developers the option of making the test results public so that users or potential users are given assurance that the software is well tested for security flaws. While there already exists general-purpose continuous integration tools such as Jenkins-CI and GitLab-CI, our tool is primarily focused on integrating third party security testing programs and generating reports on classes of vulnerabilities found in a software project. Our tool performs all tests in a snapshot (stateless) virtual machine to be able to have reproducible tests in an environment similar to the deployment environment. This paper introduces the design and implementation of a tool for security-focused continuous integration. The test cases used demonstrate the ability of the tool to effectively uncover security vulnerabilities even in open source software products such as ImageMagick and a smart grid application, Emoncms. Full article
(This article belongs to the Special Issue Code Generation, Analysis and Quality Testing)
Show Figures

Figure 1

Open AccessArticle
A Complexity Metrics Suite for Cascading Style Sheets
Computers 2019, 8(3), 54; https://doi.org/10.3390/computers8030054 - 10 Jul 2019
Abstract
We perform a theoretical and empirical analysis of a set of Cascading Style Sheets (CSS) document complexity metrics. The metrics are validated using a practical framework that demonstrates their viability. The theoretical analysis is performed using the Weyuker’s properties−a widely adopted approach to [...] Read more.
We perform a theoretical and empirical analysis of a set of Cascading Style Sheets (CSS) document complexity metrics. The metrics are validated using a practical framework that demonstrates their viability. The theoretical analysis is performed using the Weyuker’s properties−a widely adopted approach to conducting empirical validations of metrics proposals. The empirical analysis is conducted using visual and statistical analysis of distribution of metric values, Cliff’s delta, Chi-square and Liliefors statistical normality tests, and correlation analysis on our own dataset of CSS documents. The results show that five out of the nine metrics (56%) satisfy Weyuker’s properties except for the Number of Attributes Defined per Rule Block (NADRB) metric, which satisfies six out of nine (67%) properties. In addition, the results from the statistical analysis show good statistical distribution characteristics (only the Number of Extended Rule Blocks (NERB) metric exceeds the rule-of-thumb threshold value of the Cliff’s delta). The correlation between the metric values and the size of the CSS documents is insignificant, suggesting that the presented metrics are indeed complexity rather than size metrics. The practical application of the presented CSS complexity metric suite is to assess the risk of CSS documents. The proposed CSS complexity metrics suite allows identification of CSS files that require immediate attention of software maintenance personnel. Full article
(This article belongs to the Special Issue Code Generation, Analysis and Quality Testing)
Show Figures

Figure 1

Back to TopTop