Ultimately, we need solutions that work both in theory and practice. However, as truth is stranger than fiction, this means that to attain this grand goal we cannot simply retreat to our study but will need to draw insight from empirical data. That is, unless a tool is easy to use properly, although it may be secure in theory it can still prove a liability in practice -- which goes for both end-users and developers. Moreover, we cannot preempt every possible attack, and hence need techniques that can detect and name subtle patterns in data that we can act upon. In short, this research area aims to devise an engineering process that significantly improves the security and privacy of today's real-world software, that keep pace with the continuing growth in complexity for future IT systems, and that is conveniently usable even by layman users and developers. It provides empirical methods and tools for dealing with unstructured, heterogeneous datasets at scale, techniques for ensuring the security of web applications and services; as well as usable and effective solutions for application development and maintenance.