9 June 2020
Software developers have problems.
Jan-David offers stories with solutions.
Jan-David Baltzer is a software-developer and support engineer at Verifysoft Technology. Whenever he is not looking after customer requests, or gives lectures at the local university, he writes sardonic short stories offering solutions to every-day software issues.
Some tasters can be found here:
Anna has a problemSoftware developer Anna is responsible for an old software project no one knows about anymore. The software documentation offers little information that is in no way helpful... The whole thing quickly turns into a nightmare that seems solvable only by wasting massive time and money resources.
Watch the video here
Daniel has a problemDaniel is a software developer and team leader in a medium-sized business. His team develops firmware for in-house hardware components. One day he comes to his office and finds the daily paper on his desk. On the cover page, there is an article on incidents triggered by a malfunction in one of his products…
After analyzing the content of the report he is baffled. How could this happen? His team had run extensive tests, otherwise he wouldn’t have agreed to release the software. Or did he miss anything? Daniel’s team turns the office upside down, searching drawers, cabinets and computer hard-drives and collects all dependent documents. No irregularities catch his eye. Daniel regrets the lack of heterogeneity in his quality assurance concept, which urgently needs to be improved as soon as possible.
How to proceed to identify the mistake?
Suddenly he remembers Maria. Maria went to university with him and now works for a company in software quality assurance. She is excited about his call, and after some catching up and reminiscing about their carefree university days, Daniel gets to the point. It turns out that Maria is pretty software quality-savvy since she supervises numerous safety-critical projects. She suggests to run a static analysis on the suspicious components as this way precise problems, tests only insufficiently detect, can be identified. Whilst Daniel could carry out a purely manual review, Maria recommends to employ the tool Imagix 4D.
Imagix 4D is able to extract the symbols to be inspected directly from the source code, and reports numerous source-code anomalies. . The extracted samples provide the foundation for the manual inspection. Clear and easily understandable graphs highlight all essential aspects of the software.
Daniel is amazed by the simplicity of the procedure, only requiring a single digital tool. It’s a no-brainer now that Daniel asks Maria to meet and to hunt Nutria. Afterwards he buys Imagix 4D for himself and his team
In the following days, Daniel and his team run the review with Imagix 4D and find some issues they were unable to detect through simple testing.
Equipped with Imagix 4D, Daniel and his team now fight more efficiently and relaxed against anomalies in their software.
Julia has a problem“Phew” Julia thinks after returning home from a long day at work. The day started well enough, so who would have thought that it would turn out like this: The rising sun cast a rosy hue across the morning sky. Golden fingers of sunlight lit up the scene. A mellow breeze gently stirred the treetops in the nearby forest whilst woodland herbs spread their piquant odour.
But just as she started to take on her daily target, she receives a call. Her boss is on the phone and throws some news at her:
Her colleague Polina eloped to the Bahamas and left a small software project behind, which she developed in addition to the main product line. Nonetheless, the project complements some products by some useful and moreover very popular functionalities. This introduction unveiled her boss’ real intention: She is supposed to take over the project!
To her, becoming acquainted with someone else’s source code, is akin to serving a prison sentence without parole. Admittedly, she doesn’t know of any colleagues keen on the task. However, the project lies in her hands now and she needs to deal with it.
A new day is coming. On the first look, not any less beautiful than the previous day, but Julia feels the burden of her new project. On the first half of the day, she starts the arduous task of roughly outlining the software’s structure. But…wait a minute… Right before her lunch break she discovers some references, she had previously missed. “How cumbersome” she thinks and meets Carina for lunch. Over a cheeky trout, they gossip a bit and eventually come to speak about Julia’s new tasks. Carina offers her some valuable pieces of advice, such as employing a tool for source code analysis, collecting wild garlic until the end of April and categorically replacing any sweetener with honey.
She ignores the latter suggestions (for the moment), however is intrigued by the possibility to use a tool to simplify her task. Some weeks prior she was sent some information brochures. Due to a lack of interest at the time, they disappeared in her desk drawer – and now she is rummaging through its contents until she finds what she was looking for. Voilà, exactly what she needs, a tool for the inspection of source code. Imagix 4D is exactly what she needs to take on the task of the morning efficiently without overlooking any important aspects.
One call with her boss, one installation and Julia has everything under control! What a beautiful day!
Paul has a problemPaul supervises a department of developers in a medium-sized business. The majority of the company’s order are small projects in the automotive industry. However just now the company has landed a big deal.
Compared to previous projects, this project stipulates to offer proof for the continuous compliance to the functional safety standard ISO 26262-6 for the entire system. Testing, code coverage, static analysis and reviews on a modular level aren’t any news to Paul, however measuring code coverage on an architectural level is an unknown.
Paul’s project already uses Testwell CTC++ to measure code coverage, which checks for all coverage levels, including MC/DC.
Since on an architectural level only interprocedural coverage is required, Paul considers whether it would make sense to meet the requirements with C0 or if he should write a little program to extract the necessary information from the Testwell CTC++ reports.
Both solutions are not satisfactory to Paul since he neither wants to invest a disproportionate amount of resources in code coverage nor does he want make someone available from the project. He assumes that he is not the first one with such issue and approaches the Support support of Testwell CTC++ to enquire about possible solutions.
The support of Testwell CTC++ doesn’t disappoint and shows him the tool Imagix 4D. Imagix 4D is a tool for source code analysis, excessively using graphic means to help the user understand complex software. Requirements like Paul’s helped develope the integration of dynamic metrics from Testwell CTC++-reports and the additional calculation of interprocedural components.
Paul is impressed: Not only does Imagix 4D generate the required information, but it also integrates code coverage in its own flowchart. This enables the graphic inspection of problem points.
Paul introduces Imagix 4D together with the Testwell CTC++ integration in his department. Soon he realizes, that Imagix 4D doesn’t only need to be used to determine interprocedural test metrics. The basic functions of Imagix 4D are hugely popular among developers and help them to better understand source code.
“Brilliant!” Paul thinks. Apart from his original cause, he implicitly increased the efficiency of his department.
Software developers have problemsSoftware developers have problems
Jan-David has Imagix 4D
Evaluate now for free.
Then everything takes care of itself…well…nearly…