![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming
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 a program 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.
This book provides the details of developing a digital pedestrian map construction system over the intermittently connected mobile network. Over the past couple of decades, countries across the world, both developing and developed, have witnessed a significant number of disasters. Thus, it has become mandatory for each of the disaster-prone countries to equip themselves with appropriate measures to cope with the challenges of providing post-disaster services. Some of the serious challenges are incapacitated communication infrastructure, unstable power supply and inaccessible road networks. Out of these challenges, the destruction of road networks, especially in developing countries, acts as a major hindrance to effective disaster management. To be more specific, the success of a disaster response operation generally depends on the speed of evacuation and transportation of adequate amount of relief materials at the right time to the disaster-affected areas. Hence, map-based navigation support is a primary requirement for post-disaster relief operations. This book also provides the solution of the two other important post-disaster management services such as situational awareness and resource allocation. Both of these services are invariably dependent on the existence of navigation support. Finally, in order to offer such services, the other challenge is to address the problem of incapacitated communication infrastructure. This book also deals with such challenges in post-disaster scenarios and develops automated post-disaster management services.
Machine learning is widely used for data analysis. Dynamic fuzzy data are one of the most difficult types of data to analyse in the field of big data, cloud computing, the Internet of Things, and quantum information. At present, the processing of this kind of data is not very mature. The authors carried out more than 20 years of research, and show in this book their most important results. The seven chapters of the book are devoted to key topics such as dynamic fuzzy machine learning models, dynamic fuzzy self-learning subspace algorithms, fuzzy decision tree learning, dynamic concepts based on dynamic fuzzy sets, semi-supervised multi-task learning based on dynamic fuzzy data, dynamic fuzzy hierarchy learning, examination of multi-agent learning model based on dynamic fuzzy logic. This book can be used as a reference book for senior college students and graduate students as well as college teachers and scientific and technical personnel involved in computer science, artificial intelligence, machine learning, automation, data analysis, mathematics, management, cognitive science, and finance. It can be also used as the basis for teaching the principles of dynamic fuzzy learning.
This book explains the most prominent and some promising new, general techniques that combine metaheuristics with other optimization methods. A first introductory chapter reviews the basic principles of local search, prominent metaheuristics, and tree search, dynamic programming, mixed integer linear programming, and constraint programming for combinatorial optimization purposes. The chapters that follow present five generally applicable hybridization strategies, with exemplary case studies on selected problems: incomplete solution representations and decoders; problem instance reduction; large neighborhood search; parallel non-independent construction of solutions within metaheuristics; and hybridization based on complete solution archives. The authors are among the leading researchers in the hybridization of metaheuristics with other techniques for optimization, and their work reflects the broad shift to problem-oriented rather than algorithm-oriented approaches, enabling faster and more effective implementation in real-life applications. This hybridization is not restricted to different variants of metaheuristics but includes, for example, the combination of mathematical programming, dynamic programming, or constraint programming with metaheuristics, reflecting cross-fertilization in fields such as optimization, algorithmics, mathematical modeling, operations research, statistics, and simulation. The book is a valuable introduction and reference for researchers and graduate students in these domains.
Conceptual modeling has always been one of the main issues in information systems engineering as it aims to describe the general knowledge of the system at an abstract level that facilitates user understanding and software development. This collection of selected papers provides a comprehensive and extremely readable overview of what conceptual modeling is and perspectives on making it more and more relevant in our society. It covers topics like modeling the human genome, blockchain technology, model-driven software development, data integration, and wiki-like repositories and demonstrates the general applicability of conceptual modeling to various problems in diverse domains. Overall, this book is a source of inspiration for everybody in academia working on the vision of creating a strong, fruitful and creative community of conceptual modelers. With this book the editors and authors want to honor Prof. Antoni Olive for his enormous and ongoing contributions to the conceptual modeling discipline. It was presented to him on the occasion of his keynote at ER 2017 in Valencia, a conference that he has contributed to and supported for over 20 years. Thank you very much to Antoni for so many years of cooperation and friendship.
Transactions are a concept related to the logical database as seen from the perspective of database application programmers: a transaction is a sequence of database actions that is to be executed as an atomic unit of work. The processing of transactions on databases is a well- established area with many of its foundations having already been laid in the late 1970s and early 1980s. The unique feature of this textbook is that it bridges the gap between the theory of transactions on the logical database and the implementation of the related actions on the underlying physical database. The authors relate the logical database, which is composed of a dynamically changing set of data items with unique keys, and the underlying physical database with a set of fixed-size data and index pages on disk. Their treatment of transaction processing builds on the "do-redo-undo" recovery paradigm, and all methods and algorithms presented are carefully designed to be compatible with this paradigm as well as with write-ahead logging, steal-and-no-force buffering, and fine-grained concurrency control. Chapters 1 to 6 address the basics needed to fully appreciate transaction processing on a centralized database system within the context of our transaction model, covering topics like ACID properties, database integrity, buffering, rollbacks, isolation, and the interplay of logical locks and physical latches. Chapters 7 and 8 present advanced features including deadlock-free algorithms for reading, inserting and deleting tuples, while the remaining chapters cover additional advanced topics extending on the preceding foundational chapters, including multi-granular locking, bulk actions, versioning, distributed updates, and write-intensive transactions. This book is primarily intended as a text for advanced undergraduate or graduate courses on database management in general or transaction processing in particular.
This book presents two practical physical attacks. It shows how attackers can reveal the secret key of symmetric as well as asymmetric cryptographic algorithms based on these attacks, and presents countermeasures on the software and the hardware level that can help to prevent them in the future. Though their theory has been known for several years now, since neither attack has yet been successfully implemented in practice, they have generally not been considered a serious threat. In short, their physical attack complexity has been overestimated and the implied security threat has been underestimated. First, the book introduces the photonic side channel, which offers not only temporal resolution, but also the highest possible spatial resolution. Due to the high cost of its initial implementation, it has not been taken seriously. The work shows both simple and differential photonic side channel analyses. Then, it presents a fault attack against pairing-based cryptography. Due to the need for at least two independent precise faults in a single pairing computation, it has not been taken seriously either. Based on these two attacks, the book demonstrates that the assessment of physical attack complexity is error-prone, and as such cryptography should not rely on it. Cryptographic technologies have to be protected against all physical attacks, whether they have already been successfully implemented or not. The development of countermeasures does not require the successful execution of an attack but can already be carried out as soon as the principle of a side channel or a fault attack is sufficiently understood.
With the growing popularity of "big data", the potential value of personal data has attracted more and more attention. Applications built on personal data can create tremendous social and economic benefits. Meanwhile, they bring serious threats to individual privacy. The extensive collection, analysis and transaction of personal data make it difficult for an individual to keep the privacy safe. People now show more concerns about privacy than ever before. How to make a balance between the exploitation of personal information and the protection of individual privacy has become an urgent issue. In this book, the authors use methodologies from economics, especially game theory, to investigate solutions to the balance issue. They investigate the strategies of stakeholders involved in the use of personal data, and try to find the equilibrium. The book proposes a user-role based methodology to investigate the privacy issues in data mining, identifying four different types of users, i.e. four user roles, involved in data mining applications. For each user role, the authors discuss its privacy concerns and the strategies that it can adopt to solve the privacy problems. The book also proposes a simple game model to analyze the interactions among data provider, data collector and data miner. By solving the equilibria of the proposed game, readers can get useful guidance on how to deal with the trade-off between privacy and data utility. Moreover, to elaborate the analysis on data collector's strategies, the authors propose a contract model and a multi-armed bandit model respectively. The authors discuss how the owners of data (e.g. an individual or a data miner) deal with the trade-off between privacy and utility in data mining. Specifically, they study users' strategies in collaborative filtering based recommendation system and distributed classification system. They built game models to formulate the interactions among data owners, and propose learning algorithms to find the equilibria.
This book provides developers, engineers, researchers and students with detailed knowledge about the High Efficiency Video Coding (HEVC) standard. HEVC is the successor to the widely successful H.264/AVC video compression standard, and it provides around twice as much compression as H.264/AVC for the same level of quality. The applications for HEVC will not only cover the space of the well-known current uses and capabilities of digital video they will also include the deployment of new services and the delivery of enhanced video quality, such as ultra-high-definition television (UHDTV) and video with higher dynamic range, wider range of representable color, and greater representation precision than what is typically found today. HEVC is the next major generation of video coding design a flexible, reliable and robust solution that will support the next decade of video applications and ease the burden of video on world-wide network traffic. This book provides a detailed explanation of the various parts of the standard, insight into how it was developed, and in-depth discussion of algorithms and architectures for its implementation."
Get ready to take on Python with a practical and job-focused guide Job Ready Python offers readers a straightforward and elegant approach to learning Python that emphasizes hands-on and employable skills you can apply to real-world environments immediately. Based on the renowned mthree Global Academy and Software Guild training program, this book will get you up to speed in the basics of Python, loops and data structures, object-oriented programming, and data processing. You'll also get: Thorough discussions of Extract, Transform, and Load (ETL) scripting in Python Explorations of databases, including MySQL, and MongoDB--all commonly used database platforms in the field Simple, step-by-step approaches to dealing with dates and times, CSV files, and JSON files Ideal for Python newbies looking to make a transition to an exciting new career, Job Ready Python also belongs on the bookshelves of Python developers hoping to brush up on the fundamentals with an authoritative and practical new handbook.
This book teaches algebra and geometry. The authors dedicate chapters to the key issues of matrices, linear equations, matrix algorithms, vector spaces, lines, planes, second-order curves, and elliptic curves. The text is supported throughout with problems, and the authors have included source code in Python in the book. The book is suitable for advanced undergraduate and graduate students in computer science.
This book makes use of the LISP programming language to provide readers with the necessary background to understand and use fuzzy logic to solve simple to medium-complexity real-world problems. It introduces the basics of LISP required to use a Fuzzy LISP programming toolbox, which was specifically implemented by the author to "teach" the theory behind fuzzy logic and at the same time equip readers to use their newly-acquired knowledge to build fuzzy models of increasing complexity. The book fills an important gap in the literature, providing readers with a practice-oriented reference guide to fuzzy logic that offers more complexity than popular books yet is more accessible than other mathematical treatises on the topic. As such, students in first-year university courses with a basic tertiary mathematical background and no previous experience with programming should be able to easily follow the content. The book is intended for students and professionals in the fields of computer science and engineering, as well as disciplines including astronomy, biology, medicine and earth sciences. Software developers may also benefit from this book, which is intended as both an introductory textbook and self-study reference guide to fuzzy logic and its applications. The complete set of functions that make up the Fuzzy LISP programming toolbox can be downloaded from a companion book's website.
"Social Data Analytics" is the first practical guide for professionals who want to employ social data for analytics and business intelligence (BI). This book provides a comprehensive overview of the technologies and platforms and shows you how to access and analyze the data. You'll explore the five major types of social data and learn from cases and platform examples to help you make the most of sentiment, behavioral, social graph, location, and rich media data. A four-step approach to the social BI process will help you access, evaluate, collaborate, and share social data with ease. You'll learn everything you need to know to monitor social media
and get an overview of the leading vendors in a crowded space of BI
applications. By the end of this book, you will be well prepared
for your organization s next social data analytics project.
This book presents a key solution for current and future technological issues, adopting an integrated system approach with a combination of software engineering applications. Focusing on how software dominates and influences the performance, reliability, maintainability and availability of complex integrated systems, it proposes a comprehensive method of improving the entire process. The book provides numerous qualitative and quantitative analyses and examples of varied systems to help readers understand and interpret the derived results and outcomes. In addition, it examines and reviews foundational work associated with decision and control systems for information systems, to inspire researchers and industry professionals to develop new and integrated foundations, theories, principles, and tools for information systems. It also offers guidance and suggests best practices for the research community and practitioners alike. The book's twenty-two chapters examine and address current and future research topics in areas like vulnerability analysis, secured software requirements analysis, progressive models for planning and enhancing system efficiency, cloud computing, healthcare management, and integrating data-information-knowledge in decision-making. As such it enables organizations to adopt integrated approaches to system and software engineering, helping them implement technological advances and drive performance. This in turn provides actionable insights on each and every technical and managerial level so that timely action-based decisions can be taken to maintain a competitive edge. Featuring conceptual work and best practices in integrated systems and software engineering applications, this book is also a valuable resource for all researchers, graduate and undergraduate students, and management professionals with an interest in the fields of e-commerce, cloud computing, software engineering, software & system security and analysis, data-information-knowledge systems and integrated systems.
During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems or systems of systems. With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution and datasets).This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.
This book explores the future of cyber technologies and cyber operations which will influence advances in social media, cyber security, cyber physical systems, ethics, law, media, economics, infrastructure, military operations and other elements of societal interaction in the upcoming decades. It provides a review of future disruptive technologies and innovations in cyber security. It also serves as a resource for wargame planning and provides a strategic vision of the future direction of cyber operations. It informs military strategist about the future of cyber warfare. Written by leading experts in the field, chapters explore how future technical innovations vastly increase the interconnectivity of our physical and social systems and the growing need for resiliency in this vast and dynamic cyber infrastructure. The future of social media, autonomy, stateless finance, quantum information systems, the internet of things, the dark web, space satellite operations, and global network connectivity is explored along with the transformation of the legal and ethical considerations which surround them. The international challenges of cyber alliances, capabilities, and interoperability is challenged with the growing need for new laws, international oversight, and regulation which informs cybersecurity studies. The authors have a multi-disciplinary scope arranged in a big-picture framework, allowing both deep exploration of important topics and high level understanding of the topic. Evolution of Cyber Technologies and Operations to 2035 is as an excellent reference for professionals and researchers working in the security field, or as government and military workers, economics, law and more. Students will also find this book useful as a reference guide or secondary text book.
Since its first volume in 1960, Advances in Computers has presented detailed coverage of innovations in computer hardware, software, theory, design, and applications. It has also provided contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles usually allow. As a result, many articles have become standard references that continue to be of significant, lasting value in this rapidly expanding field.
This textbook provides a detailed introduction to the use of software in combination with simple and economical hardware (a sound level meter with calibrated AC output and a digital recording system) to obtain sophisticated measurements usually requiring expensive equipment. It emphasizes the use of free, open source, and multiplatform software. Many commercial acoustical measurement systems use software algorithms as an integral component; however the methods are not disclosed. This book enables the reader to develop useful algorithms and provides insight into the use of digital audio editing tools to document features in the signal. Topics covered include acoustical measurement principles, in-depth critical study of uncertainty applied to acoustical measurements, digital signal processing from the basics, and metrologically-oriented spectral and statistical analysis of signals. The student will gain a deep understanding of the use of software for measurement purposes; the ability to implement software-based measurement systems; familiarity with the hardware necessary to acquire and store signals; an appreciation for the key issue of long-term preservation of signals; and a full grasp of the often neglected issue of uncertainty in acoustical measurements. Pedagogical features include in-text worked-out examples, end-of-chapter problems, a glossary of metrology terms, and extensive appendices covering statistics, proofs, additional examples, file formats, and underlying theory.
System Quality and Software Architecture collects state-of-the-art knowledge on how to intertwine software quality requirements with software architecture and how quality attributes are exhibited by the architecture of the system. Contributions from leading researchers and industry evangelists detail the techniques required to achieve quality management in software architecting, and the best way to apply these techniques effectively in various application domains (especially in cloud, mobile and ultra-large-scale/internet-scale architecture) Taken together, these approaches show how to assess the value of total quality management in a software development process, with an emphasis on architecture. The book explains how to improve system quality with focus on attributes such as usability, maintainability, flexibility, reliability, reusability, agility, interoperability, performance, and more. It discusses the importance of clear requirements, describes patterns and tradeoffs that can influence quality, and metrics for quality assessment and overall system analysis. The last section of the book leverages practical experience and evidence to look ahead at the challenges faced by organizations in capturing and realizing quality requirements, and explores the basis of future work in this area.
"Time and Relational Theory" provides an in-depth description of temporal database systems, which provide special facilities for storing, querying, and updating historical and future data. Traditionally, database management systems provide little or no special support for temporal data at all. This situation is changing because: Cheap storage enables retention of large volumes of historical data in data warehousesUsers are now faced with temporal data problems, and need solutions Temporal features have recently been incorporated into the SQL standard, and vendors have begun to add temporal support to their DBMS products Based on the groundbreaking text "Temporal Data & the Relational Model" (Morgan Kaufmann, 2002) and new research led by the authors, "Time and Relational Theory" is the only book to offer a complete overview of the functionality of a temporal DBMS. Expert authors Nikos Lorentzos, Hugh Darwen, and Chris Date describe an approach to temporal database management that is firmly rooted in classical relational theory and will stand the test of time. This book covers the SQL:2011 temporal extensions in depth and
identifies and discusses the temporal functionality still missing
from SQL.
This book introduces Software Thermal Management (STM) as a means of reducing power consumption in a computing system in order to manage heat, improve component reliability and increase system safety. Readers will benefit from this pragmatic guide to the field of STM for embedded systems and its catalog of software power management techniques. Since thermal management is a key bottleneck in embedded systems design, this book focuses on root cause of heat in embedded systems: power. Since software has an enormous impact on power consumption in an embedded system, this book urges software engineers to manage heat effectively by understanding, categorizing and developing new ways to reduce static and dynamic power consumption. Whereas most books on thermal management describe mechanisms to remove heat, this book focuses on ways for software engineers to avoid generating heat in the first place.
Since its first volume in 1960, "Advances in Computers" has
presented detailed coverage of innovations in computer hardware,
software, theory, design, and applications. It has also provided
contributors with a medium in which they can explore their subjects
in greater depth and breadth than journal articles usually allow.
As a result, many articles have become standard references that
continue to be of significant, lasting value in this rapidly
expanding field.
The Business Analysts completely dissolves the perception that the IT industry dictates to businesses what IT systems they will use and dispels the myth that business users and IT technicians are from different planets. It suggests how to create an environment in which everybody works together in an exciting and refreshing way – a paradigm shift in the way business analysis projects are done. The IT industry has to move to a point where it realises that the users of IT systems and the technical personnel are both equally responsible for getting the system to work. The users of the IT system should be an integral part of the team when the system is being put together. This, unfortunately, is not the norm within the industry. It is the business analyst’s responsibility, among others, to make sure that communication flows freely between all the parties involved. This book gives the business analyst the tools and techniques to find out what the business users of IT systems really need and to guide the project to meet those needs.
The divide between UX and Web development can be stifling. "Bridging UX and Web Development "prepares you to break down those walls by teaching you how to integrate with your team s developers. You examine the process from their perspective, discovering tools and coding principles that will help you bridge the gap between design and implementation. With these tried and true approaches, you ll be able to capitalize on a more productive work environment. Whether you re a novice UX professional finding your place in
the software industry and looking to nail down your technical
skills, or a seasoned UI designer looking for practical information
on how to integrate your team with development, this is the
must-have resource for your UX library. |
![]() ![]() You may like...
News Search, Blogs and Feeds - A Toolkit
Lars Vage, Lars Iselid
Paperback
R1,412
Discovery Miles 14 120
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,917
Discovery Miles 19 170
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
|