Recent months have seen banks and other financial services hit by a variety of software faults. In January alone we have seen the UK's Faster Payments scheme � designed to speed up cash transfers � hit by a glitch delaying wage and bill payments; a malfunction with PayPal's Instant Payment Notifications cause some users to face duplicate charges; and US stock exchange operator Bats Global Markets acknowledge that a "system issue" meant over 400,000 trades had failed to fulfil its best-price guarantee.
And these faults pale in comparison with last year's software upgrade snafu which disrupted millions of customers' accounts at NatWest, RBS and Ulster Bank; and the computer-controlled trading error at US market-maker Knight Capital that decimated its balance sheet.
So what's going wrong?
The core of the problem is that the business software used by the institutions has become horrifically complex, according to Lev Lesokhin, strategy chief at New York-based software analysis firm Cast.
He says developers are good at building new functions, but bad at ensuring nothing goes wrong when the new software is added to the existing mix.
"Modern computer systems are so complicated you would need to perform more tests than there are stars in the sky to be 100% sure there were no problems in the system," he explains.
"Business software is becoming increasingly complex, composed of sub-systems written in different programming languages, on different machines by disparate teams.
"This means no single person, or even group of people, can ever fully understand the structure under the key business transactions in an enterprise. Testing alone is no longer a viable option to ensure dependable systems."