Skip to main content
  • Book
  • © 2017

String Analysis for Software Verification and Security

Authors:

  • This is the first existing book focusing on string analysis
  • Discusses how string analysis techniques work and how they can be applied to vulnerability detection in modern software applications
  • This book can be used as a textbook for a course on string analysis, or as a supplementary book for a course on vulnerability detection

Buy it now

Buying options

eBook USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (12 chapters)

  1. Front Matter

    Pages i-ix
  2. Introduction

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 1-13
  3. String Manipulating Programs and Difficulty of Their Analysis

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 15-22
  4. State Space Exploration

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 23-35
  5. Automata Based String Analysis

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 37-55
  6. Relational String Analysis

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 57-68
  7. Abstraction and Approximation

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 69-81
  8. Constraint-Based String Analysis

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 83-102
  9. Vulnerability Detection and Sanitization Synthesis

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 103-122
  10. Differential String Analysis and Repair

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 123-147
  11. Tools

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 149-154
  12. A Brief Survey of Related Work

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 155-164
  13. Conclusions

    • Tevfik Bultan, Fang Yu, Muath Alkhalaf, Abdulbaki Aydin
    Pages 165-166
  14. Back Matter

    Pages 167-174

About this book

This book discusses automated string-analysis techniques, focusing particularly on automata-based static string analysis. It covers the following topics: automata-bases string analysis, computing pre and post-conditions of basic string operations using automata, symbolic representation of automata, forward and backward string analysis using symbolic automata representation, constraint-based string analysis, string constraint solvers, relational string analysis, vulnerability detection using string analysis, string abstractions, differential string analysis, and automated sanitization synthesis using string analysis.

String manipulation is a crucial part of modern software systems; for example, it is used extensively in input validation and sanitization and in dynamic code and query generation. The goal of string-analysis techniques and this book is to determine the set of values that string expressions can take during program execution. String analysis can be used to solve many problems in modern software systems that relate to string manipulation, such as: (1) Identifying security vulnerabilities by checking if a security sensitive function can receive an input string that contains an exploit; (2) Identifying possible behaviors of a program by identifying possible values for dynamically generated code; (3) Identifying html generation errors by computing the html code generated by web applications; (4) Identifying the set of queries that are sent to back-end database by analyzing the code that generates the SQL queries; (5) Patching input validation and sanitization functions by automatically synthesizing repairs illustrated in this book.

Like many other program-analysis problems, it is not possible to solve the string analysis problem precisely (i.e., it is not possible to precisely determine the set of string values that can reach aprogram point). However, one can compute over- or under-approximations of possible string values. If the approximations are precise enough, they can enable developers to demonstrate existence or absence of bugs in string manipulating code. String analysis has been an active research area in the last decade, resulting in a wide variety of string-analysis techniques.

This book will primarily target researchers and professionals working in computer security, software verification, formal methods, software engineering and program analysis. Advanced level students or instructors teaching or studying courses in computer security, software verification or program analysis will find this book useful as a secondary text. 

Reviews

“The book can be said to be tailored as a handy manual for researchers looking for algebraic approaches based on the manipulation of regular expressions (in a large sense) and on solving string constraints, over inputs provided by users in web applications, for handling security issues in these applications.” (Siva Anantharaman, Mathematical Reviews, November, 2019)

Authors and Affiliations

  • Department of Computer Science, University of California, Santa Barbara, Santa Barbara, USA

    Tevfik Bultan

  • Department of Management, Information Systems, National Chenchi University, Taipei, Taiwan

    Fang Yu

  • Computer Science Department, King Saud University, Riyadh, Saudi Arabia

    Muath Alkhalaf

  • Microsoft (United States), Redmond, USA

    Abdulbaki Aydin

Bibliographic Information

Buy it now

Buying options

eBook USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access