when the simple viewing of an EMail leads to Virus execution encrypting your holiday-pictures or music-collection…

then there is something to learn: nothing man-made is 100% perfect/secure especially not when it’s something as complicated as software… or the financial-system.

so we learn something important here:

1. that (hopefully) mankind never stops learning

2. humans are neither nobody nor god and therefore make mistakes, managing this flawness is essential to good software quality. (reliable stuff, that you acutally can use)

in this area of software-development we are still learning… until now the „brute-force-test-all-possible-cases-on-every-change“ seems inevitable… (you can not write automated tests for everything (GUI interaction) but for those things you can, you should (e.g. accessing a database))

3. the simpler – the better – if you can simplify – you should make the effort (no matter in system-design or in code) it will be worth it, software-quality-wise (faster, leaner, more stable). of course splitting a program into „modules“ that compile separately is essential if a project grows larger and so does compile time… every time you test.

speeding up those iterations is also essential to faster progress of the project and should be done immediately.

 

(a) Industry Average: "about 15 - 50 errors per 1000 lines of delivered
code." He further says this is usually representative of code that has some
level of structured programming behind it, but probably includes a mix of
coding techniques.

(b) Microsoft Applications: "about 10 - 20 defects per 1000 lines of code
during in-house testing, and 0.5 defect per KLOC (KLOC IS CALLED AS 1000 lines of code) in released
product (Moore 1992)." He attributes this to a combination of code-reading
techniques and independent testing (discussed further in another chapter of
his book).

(c) "Harlan Mills pioneered 'cleanroom development', a technique that has
been able to achieve rates as low as 3 defects per 1000 lines of code during
in-house testing and 0.1 defect per 1000 lines of code in released product
(Cobb and Mills 1990). A few projects - for example, the space-shuttle
software - have achieved a level of 0 defects in 500,000 lines of code using
a system of format development methods, peer reviews, and statistical
testing."

http://www.mayerdan.com/ruby/2012/11/11/bugs-per-line-of-code-ratio/

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- -------------------------------------------------------------------------
Debian Security Advisory DSA-3132-1                   security@debian.org
http://www.debian.org/security/                        Moritz Muehlenhoff
January 19, 2015                       http://www.debian.org/security/faq
- -------------------------------------------------------------------------

Package        : icedove
CVE ID         : CVE-2014-8634 CVE-2014-8638 CVE-2014-8639

Multiple security issues have been found in Icedove, Debian's version of
the Mozilla Thunderbird mail and news client: Multiple memory safety
errors and implementation errors may lead to the execution of arbitrary
code, information leaks or denial of service.

For the stable distribution (wheezy), these problems have been fixed in
version 31.4.0-1~deb7u1.

For the upcoming stable distribution (jessie), these problems will be
fixed soon.

For the unstable distribution (sid), these problems have been fixed in
version 31.4.0-1.

We recommend that you upgrade your icedove packages.

Further information about Debian Security Advisories, how to apply
these updates to your system and frequently asked questions can be
found at: https://www.debian.org/security/

Mailing list: debian-security-announce@lists.debian.org
-

so what can you do? snapshot/backup system:

apt-get update; # get list of packages to update
apt-get upgrade; # upgrade all packages
# or:
dpkg -l|grep icedove # find correct name of package
ii  icedove                              24.4.0-1~deb7u1                   i386         mail/news client with RSS and integrated spam filter support

# only update that specific icedove package
apt-get install --only-upgrade icedove

# check if update was successfull
dpkg -l|grep icedove
ii icedove 31.4.0-1~deb7u1
admin