Formal Specification Techniques for Engineering Modular C Programs

Formal Specification Techniques for Engineering Modular C Programs PDF Author: Tan Yang Meng
Publisher: Springer Science & Business Media
ISBN: 1461541255
Category : Computers
Languages : en
Pages : 221

Get Book Here

Book Description
Software is difficult to develop, maintain, and reuse. Two factors that contribute to this difficulty are the lack of modular design and good program documentation. The first makes software changes more difficult to implement. The second makes programs more difficult to understand and to maintain. Formal Specification Techniques for Engineering Modular C Programs describes a novel approach to promoting program modularity. The book presents a formal specification language that promotes software modularity through the use of abstract data types, even though the underlying programming language may not have such support. This language is structured to allow useful information to be extracted from a specification, which is then used to perform consistency checks between the specification and its implementation. Formal Specification Techniques for Engineering Modular C Programs also describes a specification-driven, software re-engineering process model for improving existing programs. The aim of this process is to make existing programs easier to maintain and reuse while keeping their essential functionalities unchanged. Audience: Suitable as a secondary text for graduate level courses in software engineering, and as a reference for researchers and practitioners in industry.

Formal Specification Techniques for Engineering Modular C Programs

Formal Specification Techniques for Engineering Modular C Programs PDF Author: Tan Yang Meng
Publisher: Springer Science & Business Media
ISBN: 1461541255
Category : Computers
Languages : en
Pages : 221

Get Book Here

Book Description
Software is difficult to develop, maintain, and reuse. Two factors that contribute to this difficulty are the lack of modular design and good program documentation. The first makes software changes more difficult to implement. The second makes programs more difficult to understand and to maintain. Formal Specification Techniques for Engineering Modular C Programs describes a novel approach to promoting program modularity. The book presents a formal specification language that promotes software modularity through the use of abstract data types, even though the underlying programming language may not have such support. This language is structured to allow useful information to be extracted from a specification, which is then used to perform consistency checks between the specification and its implementation. Formal Specification Techniques for Engineering Modular C Programs also describes a specification-driven, software re-engineering process model for improving existing programs. The aim of this process is to make existing programs easier to maintain and reuse while keeping their essential functionalities unchanged. Audience: Suitable as a secondary text for graduate level courses in software engineering, and as a reference for researchers and practitioners in industry.

Formal Specification Techniques for Engineering Modular C Programs

Formal Specification Techniques for Engineering Modular C Programs PDF Author: Tan Yang Meng
Publisher: Springer
ISBN: 9781461368502
Category : Computers
Languages : en
Pages : 213

Get Book Here

Book Description
Software is difficult to develop, maintain, and reuse. Two factors that contribute to this difficulty are the lack of modular design and good program documentation. The first makes software changes more difficult to implement. The second makes programs more difficult to understand and to maintain. Formal Specification Techniques for Engineering Modular C Programs describes a novel approach to promoting program modularity. The book presents a formal specification language that promotes software modularity through the use of abstract data types, even though the underlying programming language may not have such support. This language is structured to allow useful information to be extracted from a specification, which is then used to perform consistency checks between the specification and its implementation. Formal Specification Techniques for Engineering Modular C Programs also describes a specification-driven, software re-engineering process model for improving existing programs. The aim of this process is to make existing programs easier to maintain and reuse while keeping their essential functionalities unchanged. Audience: Suitable as a secondary text for graduate level courses in software engineering, and as a reference for researchers and practitioners in industry.

Formal Specification Techniques for Engineering Modular C Programs

Formal Specification Techniques for Engineering Modular C Programs PDF Author: Yang Meng Tan
Publisher: Springer
ISBN:
Category : Computers
Languages : en
Pages : 240

Get Book Here

Book Description
Begins a series for software engineers discussing current research topics and their applications, updated versions of ideas and notations, and authoritative references on specialized topics. Describes a new approach to making software more modular and so easier to change. Presents a formal specification language that promotes modularity through the use of abstract data types even though the underlying programming language does not have such support. The language allows useful information to be extracted from a specification and used to perform some consistency checks between the specification and its implementation. A reference for researchers and practitioners and a secondary text for a graduate course in software engineering. Based on Tan's 1994 doctoral thesis for MIT. Annotation copyright by Book News, Inc., Portland, OR

Identifying Relevant Information for Testing Technique Selection

Identifying Relevant Information for Testing Technique Selection PDF Author: Sira Vegas
Publisher: Springer Science & Business Media
ISBN: 1461504198
Category : Computers
Languages : en
Pages : 299

Get Book Here

Book Description
Engineering tasks are supposed to achieve defined goals under certain project constraints. Example goals of software engineering tasks include achieving a certain functionality together with some level of reliability or performance. Example constraints of software engineering tasks include budget and time limitations or experience limitations of the developers at hand. Planning of an engineering project requires the selection of techniques, methods and tools suited to achieve stated goals under given project constraints. This assumes sufficient knowledge regarding the process-product relationships (or effects) of candidate techniques, methods and tools. Planning of software projects suffers greatly from lack of knowledge regarding the process-product relationships of candidate techniques, methods and tools. Especially in the area of testing a project planner is confronted with an abundance of testing techniques, but very little knowledge regarding their effects under varying project conditions. This book offers a novel approach to addressing this problem: First, based on a comprehensive initial characterization scheme (see chapter 7) an overview of existing testing techniques and their effects under varying conditions is provided to guide the selection of testing approaches. Second, the optimisation of this knowledge base is suggested based on experience from experts, real projects and scientific experiments (chapters 8, 9, and 10). This book is of equal interest to practitioners, researchers and students. Practitioners interested in identifying ways to organize their company-specific knowledge about testing could start with the schema provided in this book, and optimise it further by applying similar strategies as offered in chapters 8 and 9.

Experimentation in Software Engineering

Experimentation in Software Engineering PDF Author: Claes Wohlin
Publisher: Springer Science & Business Media
ISBN: 1461546257
Category : Computers
Languages : en
Pages : 218

Get Book Here

Book Description
It is my belief that software engineers not only need to know software engineering methods and processes, but that they also should know how to assess them. Conse quently, I have taught principles of experimentation and empirical studies as part of the software engineering curriculum. Until now, this meant selecting a text from another discipline, usually psychology, and augmenting it with journal or confer ence papers that provide students with software engineering examples of experi ments and empirical studies. This book fills an important gap in the software engineering literature: it pro vides a concise, comprehensive look at an important aspect of software engineer ing: experimental analysis of how well software engineering methods, methodologies, and processes work. Since all of these change so rapidly in our field, it is important to know how to evaluate new ones. This book teaches how to go about doing this and thus is valuable not only for the software engineering stu dent, but also for the practicing software engineering professional who will be able to • Evaluate software engineering techniques. • Determine the value (or lack thereof) of claims made about a software engineer ing method or process in published studies. Finally, this book serves as a valuable resource for the software engineering researcher.

Constraint-Based Design Recovery for Software Reengineering

Constraint-Based Design Recovery for Software Reengineering PDF Author: Steven G. Woods
Publisher: Springer Science & Business Media
ISBN: 1461554616
Category : Computers
Languages : en
Pages : 206

Get Book Here

Book Description
The great challenge of reverse engineering is recovering design information from legacy code: the concept recovery problem. This monograph describes our research effort in attacking this problem. It discusses our theory of how a constraint-based approach to program plan recognition can efficiently extract design concepts from source code, and it details experiments in concept recovery that support our claims of scalability. Importantly, we present our models and experiments in sufficient detail so that they can be easily replicated. This book is intended for researchers or software developers concerned with reverse engineering or reengineering legacy systems. However, it may also interest those researchers who are interested using plan recognition techniques or constraint-based reasoning. We expect the reader to have a reasonable computer science background (i.e., familiarity with the basics of programming and algorithm analysis), but we do not require familiarity with the fields of reverse engineering or artificial intelligence (AI). To this end, we carefully explain all the AI techniques we use. This book is designed as a reference for advanced undergraduate or graduate seminar courses in software engineering, reverse engineering, or reengineering. It can also serve as a supplementary textbook for software engineering-related courses, such as those on program understanding or design recovery, for AI-related courses, such as those on plan recognition or constraint satisfaction, and for courses that cover both topics, such as those on AI applications to software engineering. ORGANIZATION The book comprises eight chapters.

Software Process Modeling

Software Process Modeling PDF Author: Silvia T. Acuna
Publisher: Springer Science & Business Media
ISBN: 0387242627
Category : Computers
Languages : en
Pages : 226

Get Book Here

Book Description
This book brings together experts to discuss relevant results in software process modeling, and expresses their personal view of this field. It is designed for a professional audience of researchers and practitioners in industry, and graduate-level students.

Tools and Environments for Parallel and Distributed Systems

Tools and Environments for Parallel and Distributed Systems PDF Author: Amr Zaky
Publisher: Springer Science & Business Media
ISBN: 1461541239
Category : Computers
Languages : en
Pages : 308

Get Book Here

Book Description
Developing correct and efficient software is far more complex for parallel and distributed systems than it is for sequential processors. Some of the reasons for this added complexity are: the lack of a universally acceptable parallel and distributed programming paradigm, the criticality of achieving high performance, and the difficulty of writing correct parallel and distributed programs. These factors collectively influence the current status of parallel and distributed software development tools efforts. Tools and Environments for Parallel and Distributed Systems addresses the above issues by describing working tools and environments, and gives a solid overview of some of the fundamental research being done worldwide. Topics covered in this collection are: mainstream program development tools, performance prediction tools and studies; debugging tools and research; and nontraditional tools. Audience: Suitable as a secondary text for graduate level courses in software engineering and parallel and distributed systems, and as a reference for researchers and practitioners in industry.

Software Defect and Operational Profile Modeling

Software Defect and Operational Profile Modeling PDF Author: Kai-Yuan Cai
Publisher: Springer Science & Business Media
ISBN: 1461555930
Category : Computers
Languages : en
Pages : 284

Get Book Here

Book Description
also in: THE KLUWER INTERNATIONAL SERIES ON ASIAN STUDIES IN COMPUTER AND INFORMATION SCIENCE, Volume 1

Multimedia Software Engineering

Multimedia Software Engineering PDF Author: Shi-Kuo Chang
Publisher: Springer Science & Business Media
ISBN: 1461544351
Category : Computers
Languages : en
Pages : 241

Get Book Here

Book Description
Multimedia has two fundamental characteristics that can be expressed by the following formula: Multimedia = Multiple Media + Hypermedia. How can software engineering take advantage of these two characteristics? Will these two characteristics pose problems in multimedia systems design? These are some of the issues to be explored in this book. The first two chapters will be of interest to managers, software engineers, programmers, and people interested in gaining an overall understanding of multimedia software engineering. The next six chapters present multimedia software engineering according to the conceptual framework introduced in Chapter One. This is of particular use to practitioners, system developers, multimedia application designers, programmers, and people interested in prototyping multimedia applications. The next three chapters are more research-oriented and are mainly intended for researchers working on the specification, modeling, and analysis of distributed multimedia systems, but will also be relevant to scientists, researchers, and software engineers interested in the systems and theoretical aspects of multimedia software engineering. Multimedia Software Engineering can be used as a textbook in a graduate course on multimedia software engineering or in an undergraduate course on software design where the emphasis is on multimedia applications. It is especially suitable for a project-oriented course.