New development tool based on ‘software quality information needs’ and 3 case studies

While constantly developing, software takes over more and more aspects of our life at both individual and community level. Thus, software failures and security are easily becoming major concerns which need to be addressed on the spur of the moment.

A way to do so, according to computer scientist Dr Daniel Graziotin, University of Stuttgart, is adopting a new concept, which he terms ‘Software quality information needs’, along with multi-angled extensive empirical evidence to produce a development tool to improve software quality. His Grant Proposal is published in the open access journal Research Ideas and Outcomes (RIO).

The proposed research is in the context of an earlier DFG Grant Proposal, authored by Prof. Dr. Stefan Wagner, University of Stuttgart, and published in the same journal. The earlier project idea suggests novel tools analysing software changes before and during their implementation. Similarly to Dr Daniel Graziotin’s idea, it is based on fast and focused feedback loop.

The presently proposed research, planned to take 24 months, is set to start with establishing the ‘software quality information needs’ construct. The author coins this theory in order to conceptualise and provide deeper understanding of the information essential for a developer when performing code changes or designing new parts of a system.

The project is to then go on to produce metrics to detect and satisfy a developer’s needs. As a result, optimally unobtrusive measurement techniques are to be developed and evaluated in three empirical studies.

About 120 software engineering students from the University of Stuttgart are to be recruited to provide empirical evidence. While they are working on either real-world or university software projects, they are to be observed, regularly interviewed and asked to think aloud. Their insights will be further enriched through a post-task interview. The findings are to answer the question “How can we conceptualise information needs when dealing with software quality?”.

“What information is needed when dealing with software quality?”, is to be covered by the second empirical study, which plans to involve the software engineers of Daimler, Porsche, and Bosch, since the automotive industry is particularly concerned with software quality issues. The engineers are to fill in mostly open-ended surveys and thus, provide a broad view of software quality information needs and their priority from a practitioner’s perspective.

Building on the above case studies, the German multinational engineering and electronics company Robert Bosch GmbH is to be approached for validated questionnaires and behavior patterns tests, such as keystroke frequency and typos detection. Ultimately, the findings are to answer how software quality information needs to be detected unobtrusively through behavioral patterns.

To exemplify the tool, based on the described research and its expected findings, the scientist uses fictional software developer, called Anne. While working on a system routine to be applied in a banking application, she is notified by the integrated development environment (IDE), that there might be some quality issues.

It turns out that she is employing a design pattern that is not frequently employed in similar cases, so the IDE suggests that she browses some StackOverflow.com related questions and answers regarding the design pattern. Because she has also created part of the procedure by cloning code from another part of the project, the tool offers her to help to refactor the cloned code.

“Providing a software developer with the right kind of information about the current state of and the effect of changes on software quality can prevent catastrophic software failures and avoid opening up security holes,” Dr Daniel Graziotin argues.

###

Original source:

Graziotin D (2016) Software quality information needs. Research Ideas and Outcomes 2: e8865.doi: 10.3897/rio.2.e8865

New DFG grant proposal for a software quality control able to stand the test of time

For a software to be maintained in an optimal condition, as well as in track of any necessary updates and innovations, it needs to be kept in check constantly. This appears to be the only way for any potential quality problems that may arise to be detected and handled momentarily well before a user can encounter them.

A new grant proposal, addressed to the German Research Foundation (DFG), authored by Prof. Dr. Stefan Wagner, University of Stuttgart, and published in the open-access journalĀ Research Ideas & Outcomes (RIO), suggests a new persistent set of quality control approaches meant to start analysing a software both manually and automatically during its creation and well before it has even been introduced.

The proposed methods, which Prof. Dr. Stefan Wagner envisions as a solution to software quality decay, provide thorough, contextual and focused feedback to the developers, who in their turn need less time and efforts to make sense of the new information. To achieve this, novel tools are to initiate regular analyses even before the implementation of the software changes and go on during the changes.

Previous knowledge and experience from similar problem-detection tools and practices are to be utilised as well. “Contemporary quality models, dynamic slicing and online discussions could even provide rationales for the feedback to support its acceptance and understandability,” explains the German researcher.

A particular issue addressed by the Professor of Software Engineering in his present publication are the so-called ‘co-changes’, which are changes to source code files that need to occur together. For example, if developers introduce a new feature it will cause changes in the functional part of the source code as well as the user interface. Such co-changes can lead to a defect when the change to the user interface is omitted. Giving such information on co-changes is especially useful to give the developers directly while the perform the change.

“Advances in static analysis, test generation and repository mining allow us to give further feedback to developers, potentially just-in-time while performing changes,” Prof. Dr. Stefan Wagner points out. “These analyses have not been incorporated into a joint feedback system that gives focused hints.”

###

Original source:

Wagner S (2015) Continuous and Focused Developer Feedback on Software Quality (CoFoDeF). Research Ideas and Outcomes 1: e7576. doi: 10.3897/rio.1.e7576

###

Additional information:

The DFG is the largest independent research funding organisation in Germany. It promotes the advancement of science and the humanities by funding research projects, research centres and networks, and facilitating cooperation among researchers.

The mission of RIO is to catalyse change in research communication by publishing ideas, proposals and outcomes in order to increase transparency, trust and efficiency of the whole research ecosystem. Its scope encompasses all areas of academic research, including science, technology, the humanities and the social sciences.

The journal harnesses the full value of investment in the academic system by registering, reviewing, publishing and permanently archiving a wider variety of research outputs than those traditionally made public: project proposals, data, methods, workflows, software, project reports and research articles together on a single collaborative platform offering one of the most transparent, open and public peer-review processes.