Dr. Martin Feilkas & Dr. Martin Feilkas

It is interesting to see the various organizational settings where

software development takes place. Having a look at the different kinds

of companies we have been working with in the last years reveals the

many different settings: Completely internal development, internal

development in a mix of internal and external developers, external

development with internal project management/architects, completely

outsourced development only providing a set of requirements to the

supplier. Furthermore, throughout the lifecycle of a system, these

settings are often changed: systems are handed over from an external

initial development to internal maintenance or vice versa. Thus, a

pure and stable development team developing and maintaining a system

is rather…

Read more...

Thomas Kinnen & Thomas Kinnen

Teamscale is our tool for continuous

software quality control. It provides feedback about quality problems

in near real-time, allowing you to keep your software free of

technical debt.

 

Today we are proud to announce our public demo, allowing you to try and explore Teamscale

easily.

 

To get started, go to our Teamscale Demo registration

page and

register a user for the live demo. You will get an e-mail containing your new password

and a login link. Follow the link to login and explore Teamscale.

Read more...

Dr. Nils Göde & Dr. Nils Göde

All common programming languages have features to organize your code, such as methods and functions. Still, these features are often not used to the extent that they should be. It is good practice to keep your methods short and comprehensible with a single clear functionality for each method. Nevertheless, such long methods frequently occur in most systems, although the developers are often aware of the problems.

Read more...

Dr. Benjamin Hummel & Dr. Benjamin Hummel

In nearly every audience we present our analysis and quality management tool to, there is at least one person asking whether we also measure Cyclomatic Complexity. After all, almost every existing software quality tool calculates this metric and so it is very well known. Much to their surprise, our answer is usually no and I want to explain our rationale in this post.

Read more...

Dr. Daniela Steidl & Dr. Daniela Steidl

How many of you know the feeling, when an incoming change request forces you to dig into code you never wanted to dig into? And how many of you have drawn the conclusion while reading the code: »I don’t get what’s going on.« With the immediate follow-up question: »Who the hell has written this code?«

 

As we all probably have experienced, software systems evolve over time and without effective counter measurements, their quality

gradually decays, making it hard to understand and to maintain the system. With this blog post, we provide a useful way to start preventing further decay of a grown software system by cleaning up the code.

Read more...

Dr. Daniela Steidl & Dr. Daniela Steidl

As quality consultants, we mainly work together with our customers, but we are also actively involved in current research. In this post, we summarize our paper »Incremental Origin Analysis of Source Code Files« that was recently accepted for publication at the MSR—the Working Conference on Mining Software Repositories (from 31.5. to 1.6.14 in Hyderabad, India).

 

I guess most of you have heard about it—and many of you use it on a daily basis: The version control system.

Read more...

Dr. Martin Feilkas & Dr. Martin Feilkas

In many domains software is a highly critical part of the products, especially in automotive and avionics systems, in medical equipment, and in military systems—software failures may cause severe damage to machines or even cost human lives.

Thus, it is broadly accepted that software quality is the key to developing safe systems. Most people out there have deep trust in the quality of the software controlling the cars they drive, the planes they fly with, and the equipment that is keeping them alive during medical surgery. To be honest, most of this software works really well. However, when looking behind the curtains, I sometimes wonder why.

 

Safety critical systems need to be certified and thus undergo rigorous qualification processes. There are…

Read more...

Dr. Benjamin Hummel & Dr. Benjamin Hummel

Many consider manual code reviews to be the premium solution to

quality control, as they can locate and eliminate all kinds of issues

ranging from functional bugs over security deficits to maintainability

problems and have many other benefits as a side-effect. When installing code reviews in your development

project, there are a couple of flavours to choose from. This post

highlights one of these variation points, namely the granularity of

the artifact being reviewed.

Read more...

Dr. Nils Göde & Dr. Nils Göde

This is the second part of our quality audit of the Android core component’s source code. In my previous post we have looked at the structure of the code. In this post we will analyze the redundancy found in the code. Redundant code fragments—so-called clones— cause a variety of problems. The system is larger than it needs to be, defects are duplicated, changes have to be done multiple times, and individual copies may be overlooked when a bug is fixed (this is not a myth since many clone-related bugs have already been found in production software). Consequently, it is advisable to keep the redundancy as low as possible.

Read more...

Dr. Florian Deißenböck & Dr. Florian Deißenböck

On Friday, February 21st Apple published an update for iOS that fixed a serious security issue. What makes this issue interesting, is not only its severity but also the fact that the issue can be nicely pinned down two a single line of code. Conveniently, this code is open-source and available for analysis!

In this post I’ll explain why this major security issue is, after all, the result of a number of quality issues, which are often undervalued as minor flaws.

 

Read more...

Interested in our blog? Subscribe!

Get a short notification when we blog about software quality, speak on conferences or publish our CQSE Spotlight.

By submitting your data you confirm that you agree to our privacy policy.