[ca] Avui dia és una evidència la necessitat d'un menor temps de llançament al mercat de les aplicacions. No obstant això, tot i que el temps necessari per desenvolupar-les es redueixi, encara es necessita poder oferir aplicacions fiables i segures. Això era ja és una tasca difícil, i ara ho és encara més amb les restriccions de temps i la ràpida evolució de les tecnologies. Els errors ocults en el programari poden traduir-se en vulnerabilitats de seguretat que potencialment permeten als atacants posar en perill els sistemes i aplicacions. Hi ha hackers i crackers que poden estar a l'aguait per obtenir la nostra valuosa informació personal. Per tant, aquestes aplicacions han de ser segures i fiables ja que la nostra informació o documents privats s'emmagatzemen en aquestes aplicacions en capes. Cada any milers d'aquestes vulnerabilitats es desvetllen públicament en el Common Vulnerabilities and Exposures database [23]. Aquestes vulnerabilitats són sovint ocasionades per errors subtils comesos per programadors i poden propagar ràpidament a causa de la prevalença de programari de codi obert així com a la reutilització de codi. Ens enfrontem a el dilema de la necessitat d'accelerar el procés de desenvolupament de programari i a el mateix temps el requisit d'oferir aplicacions fiables i segures. Hi ha molts enfocaments per abordar aquest problema que van des adaptar el procés de desenvolupament de programari a solucions tècniques més concretes. En aquest TFM intentarem analitzar l'ús d'una o diverses eines automatitzades per verificar si les aplicacions en construcció tenen el nivell de seguretat requerit mitjançant la detecció de possibles vulnerabilitats o errors que podria causar un funcionament no desitjat. Aquest enfocament aborda la detecció de codi vulnerable durant el curs de el cicle de desenvolupament de programari.

[en] Nowadays the need for a shorter time-to-market of applications is evident. However, even though the time needed for developing them gets reduced, we still need to be able to deliver reliable and secure apps. This was already a challenging task, and it is even more so with the time restrictions and the rapidly evolving technologies. Hidden flaws in software can result in security vulnerabilities that potentially allow attackers to compromise systems and applications. There are hackers and crackers who may be keeping an eye on our valuable personal information. Hence, these applications need to be secured and should be reliable since our private and important information or documents are stored on the back end of these n-tiered applications. Each year thousands of such vulnerabilities are reported publicly to the Common Vulnerabilities and Exposures database. These vulnerabilities are often caused by subtle errors made by programmers and can propagate quickly due to the prevalence of open-source software and code reuse. We are confronted with the dilemma of the need for speeding up the software development process while at the same time the requirement of delivering reliable and secure applications. There are many approaches for tackling this problem which range from adapting the software development process to more concrete technical solutions. In this TFM we will try to analyse the use of one or several automatized software tools for verifying whether the application under construction has the required level of security by detecting potential vulnerabilities or flaws that could cause an undesired misfunction. This approach addresses the detection of vulnerable code during the course of the software development cycle.