Proving Correctness of Threaded Parallel Executable Code Generated from Models Described by a Domain Specific Language

Total Page:16

File Type:pdf, Size:1020Kb

Proving Correctness of Threaded Parallel Executable Code Generated from Models Described by a Domain Specific Language Eindhoven University of Technology MASTER Proving correctness of threaded parallel executable code generated from models described by a domain specific language Roede, S. Award date: 2012 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain TECHNISCHE UNIVERSITEIT EINDHOVEN Department of Mathematics and Computer Science Proving correctness of threaded parallel executable code generated from models described by a Domain Specific Language By S. Roede Supervisor & tutor Dr. R. Kuiper (TU/e) Ir. J.M.A.M Gabriels (TU/e) Eindhoven, July 2012 Computer Science and Engineering, Eindhoven University of Technology Master thesis Proving correctness of threaded parallel executable code generated from models described by a Domain Specific Language Author: Graduation supervisor: dr. Ruurd Kuiper ing. Sybren Roede Graduation tutor: [email protected] ir. Joost M.A.M Gabriels July 7, 2012 Preface This thesis was written in partial fulfilment of the requirements for graduation in a master degree in computing science at the Eindhoven University of Technology. This graduation project was done in the area of Software Technology for the research group Software Engineering Technology. The author would like to give a special thanks to my graduation supervisor Ruurd and my gradu- ation tutor Joost. They provided an excellent job in supervising the research work and correcting the thesis. During the process they made useful critical remarks and give valuable suggestions to strengthen the work. They made my graduation project a joyful process and learningful experi- ence. I want to thanks K. Rustan M. Leino of the Research in Software Engineering (RiSE) group at Microsoft Research. In an early stage of my graduation project he give me the change to use his expertise in the field of formal verification. My deep thanks go to Bart Jacobs of the Department of Computer Science of the Katholieke Universiteit Leuven, Belgium. The time he spend on me and the opportunity to learn from him is greatly appreciated. The verification in VeriFast could not been done without his guidance. The two afternoons in Leuven where very helpful and a great experience. The strong support and love of my friends and family is a blessing during my study. I am especially grateful to my family and lovely girlfriend who were tireless in motivating and supporting me to finish my master degree. 2 Abstract We investigate correctness of threaded parallel executable code generated from models described by a Domain Specific Language (DSL). There are challenges in developing correct multi-threaded code. Model Driven Engineering (MDE) is a promising approach: the mod- eling can be done at a high abstraction level and with a chain of model transformations the implementation code is generated. During my Capita Selecta, I made a realization of the code generation step of a particular MDE-chain, the transformation of state-machine like SLCO models into multi-threaded C# code. In the generation process, use of and inheritance from multi-threaded generic code was applied. The goal of the present research is to investigate formal specification and verification of the generic code. This was done by first making a small overview of available tools and selection of the best suited tool for the verification. After that, we performed a parameterized verification with VeriFast on an essential, non-trivial part of the framework. Finally we reflect on the lessons learned. 3 Contents 1 Introduction 6 1.1 Capita Selecta project . .6 1.2 Goals and approach . .7 1.2.1 Approach . .7 1.3 Overview . .8 2 Preliminaries 9 2.1 SLCO . .9 2.1.1 State machine . .9 2.1.2 Language constructs . .9 2.2 Toosm........................................... 12 2.2.1 Logging and state space . 17 3 Verification techniques 19 3.1 Hoare Logic . 19 3.2 Owicki and Gries . 20 3.3 Rely/guarantee . 20 3.4 Separation logic . 21 4 Verification tools 23 4.1 Tool introductions . 23 4.1.1 Spec# . 23 4.1.2 Code Contracts . 24 4.1.3 Dafny . 24 4.1.4 Chalice . 25 4.1.5 VeriFast . 25 4.1.6 ProPar . 26 4.2 Tool selection . 27 4.2.1 Spec# . 27 4.2.2 Code Contracts . 29 4.2.3 Dafny . 31 4.2.4 Chalice . 31 4.2.5 VeriFast . 32 4.2.6 ProPar . 33 4.3 Conclusions . 33 5 A closer look at Separation Logic 35 5.1 Basics . 35 5.2 Variables as resource . 36 5.3 Concurrency . 36 5.4 Semaphores . 37 5.5 Permissions . 38 5.6 Further reading . 39 6 A closer look at VeriFast 40 6.1 VeriFast features . 40 6.2 VeriFast IDE . 41 6.3 Verification example . 42 7 Verification of the communication channels 46 7.1 Abstraction . 46 7.2 Communication Channel . 47 7.2.1 Channel specifications . 47 4 7.2.2 Channel VeriFast specifications . 49 7.2.3 Channel VeriFast annotation . 51 7.3 Communication channel client ready . 53 7.3.1 Channel specifications . 54 7.3.2 Channel VeriFast specifications . 54 7.3.3 Channel VeriFast annotations . 57 7.4 Client program . 58 7.4.1 Client specification . 59 7.4.2 Client VeriFast specification . 59 7.4.3 Client VeriFast annotation . 63 7.5 Client program with multiple senders and receivers . 66 7.5.1 Client specification . 66 7.5.2 Client VeriFast specification . 66 7.5.3 VeriFast client annotation . 69 7.6 Client program with multiple senders and receivers and richer specifications . 72 7.6.1 Client specification . 72 7.6.2 Client VeriFast specification . 73 7.6.3 Client VeriFast annotation . 76 7.7 Remark on verification . 82 7.8 Source code improvements . 82 8 Conclusions and future work 86 8.1 Verification techniques and tools . 86 8.2 Verification of the communication channel . 87 8.3 Practicability and usefulness of tool-based approach . 88 8.3.1 VeriFast experience . 88 8.3.2 VeriFast effort . 88 8.3.3 VeriFast capabilities . 89 8.3.4 Formal verification experience . 90 8.3.5 Verification approach . 90 8.4 Threats to validity . 90 8.5 Future work . 91 A Appendix: Channel verification 96 A.1 Communication Channel (Ia) . 96 A.2 Communication Channel - client ready (Ib) . 99 A.3 Client - version 1 (II) . 103 A.4 Client - version 2 (IIIa) . 107 A.5 Client - version 3 (IIIb) . 113 A.6 Modifications to the VeriFast libraries . 123 B Appendix: Spec# - multithread example 125 5 1 Introduction A phenomenon in software engineering is that programs get bigger and more complex every year. In the last couple of years the emergence of concurrent programming received more attention. Programming those complex systems with concurrency is difficult: threading and synchronization can lead to a range of.
Recommended publications
  • Metadefender Core V4.17.3
    MetaDefender Core v4.17.3 © 2020 OPSWAT, Inc. All rights reserved. OPSWAT®, MetadefenderTM and the OPSWAT logo are trademarks of OPSWAT, Inc. All other trademarks, trade names, service marks, service names, and images mentioned and/or used herein belong to their respective owners. Table of Contents About This Guide 13 Key Features of MetaDefender Core 14 1. Quick Start with MetaDefender Core 15 1.1. Installation 15 Operating system invariant initial steps 15 Basic setup 16 1.1.1. Configuration wizard 16 1.2. License Activation 21 1.3. Process Files with MetaDefender Core 21 2. Installing or Upgrading MetaDefender Core 22 2.1. Recommended System Configuration 22 Microsoft Windows Deployments 22 Unix Based Deployments 24 Data Retention 26 Custom Engines 27 Browser Requirements for the Metadefender Core Management Console 27 2.2. Installing MetaDefender 27 Installation 27 Installation notes 27 2.2.1. Installing Metadefender Core using command line 28 2.2.2. Installing Metadefender Core using the Install Wizard 31 2.3. Upgrading MetaDefender Core 31 Upgrading from MetaDefender Core 3.x 31 Upgrading from MetaDefender Core 4.x 31 2.4. MetaDefender Core Licensing 32 2.4.1. Activating Metadefender Licenses 32 2.4.2. Checking Your Metadefender Core License 37 2.5. Performance and Load Estimation 38 What to know before reading the results: Some factors that affect performance 38 How test results are calculated 39 Test Reports 39 Performance Report - Multi-Scanning On Linux 39 Performance Report - Multi-Scanning On Windows 43 2.6. Special installation options 46 Use RAMDISK for the tempdirectory 46 3.
    [Show full text]
  • Vexcel Imaging / Microsoft Photogrammetry User Meeting, Tokyo, September 2008
    Vexcel Imaging / Microsoft Photogrammetry User Meeting, Tokyo, September 2008 Michael Gruber, [email protected] Vexcel Imaging Photogrammetry Products UltraCamXp UltraCam Xp Based on the most successfull UltraCamX Key features • CCD size 6.0 µm (UCX: 7.2 µm) • 195 Mega pixel (UCX: 136 Mega pixel) • Storage system 2 x 2.1 Terra byte (UCX: 2 x 1.7 TB) • Storage system 6600 images (UCX: 4700 images) • New filters for even improved image dynamic UltraCam Xp Projects • 500m flying height ‐> 2.9 cm GSD ‐> 514m strip width • 1000m flying height ‐> 5.8 cm GSD ‐> 1028m strip width • 3000m flying height ‐> 17.4 cm GSD ‐> 3085m strip width Largest digital camera world‐wide Lowest possible collection costs Most efficient digital camera world‐wide Success Story Sales Figures • 244 cameras world‐wide • 101 cameras of UCD and UCX • 47 UltraCamD • 54 UltraCamX Announcement: The UltraCam #100 has been sold in July 2008 Vexcel market share to Geokosmos, Russia, 42% with UCD/UCX by our partner GeoLidar Success Story Sales Figures Announcement: • 244 cameras world‐wide Aerodata, Belgium, • 103 cameras of UCD, UCX purchased UltraCam Xp and UCXp #1 and #2 at ISPRS 08 • 47 UltraCamD • 54 UltraCamX • 2 UltraCamXp • (end of July 08) UltraCamXp Computing Unit exchangeable Data Unit Data Unit Docking Station 4 parallel Download Ports UltraCamXp Largest Image Format 17310 by 11310 pixel (195 Mpixel) On board Data Storage 6600 Frames / Data Unit Short frame intervall (2 sec) 3cm GSD / 60% Endlap / 140 kn Microsoft/Vexcel Aerial Camera Evolution UltraCamD
    [Show full text]
  • Microsoft Surface User Experience Guidelines
    Microsoft Surface™ User Experience Guidelines Designing for Successful Touch Experiences Version 1.0 June 30, 2008 1 Copyright This document is provided for informational purposes only, and Microsoft makes no warranties, either express or implied, in this document. Information in this document, including URL and other Internet Web site references, is subject to change without notice. The entire risk of the use or the results from the use of this document remains with the user. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, financial and other data, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, places, financial or other data, or events is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Excel, Microsoft Surface, the Microsoft Surface logo, Segoe, Silverlight, Windows, Windows Media, Windows Vista, Virtual Earth, Xbox LIVE, XNA, and Zune are either registered trademarks or trademarks of the Microsoft group of companies.
    [Show full text]
  • Developing a Zoomable Timeline for Big History
    19 From Concept to Reality: Developing a Zoomable Timeline for Big History Roland Saekow Abstract Big History is proving to be an excellent framework for designing undergradu- ate synthesis courses. A serious problem in teaching such courses is how to convey the vast stretches of time from the Big Bang, 13.7 billion years ago, to the present, and how to clarify the wildly different time scales of cosmic history, Earth and life history, human prehistory and human history. Inspired by a se- ries of printable timelines created by Professor Walter Alvarez at the Univer- sity of California, Berkeley, a time visualization tool called ‘ChronoZoom’ was developed through a collaborative effort of the Department of Earth and Plane- tary Science at UC Berkeley and Microsoft Research. With the help of the Of- fice of Intellectual Property and Industry Research Alliances at UC Berkeley, a relationship was established that resulted in the creation of a prototype of ChronoZoom, leveraging Microsoft Seadragon zoom technology. Work on a sec- ond version of ChronoZoom is presently underway with the hope that it will be among the first in a new generation of tools to enhance the study of Big History. In Spring of 2009, I had the good fortune of taking Walter Alvarez' Big His- tory course at the University of California Berkeley. As a senior about to com- plete an interdisciplinary degree in Design, I was always attracted to big picture courses rather than those that focused on specifics. So when a housemate told me about Walter's Big History course, I immediately enrolled.
    [Show full text]
  • User Interaction in Deductive Interactive Program Verification
    User Interaction in Deductive Interactive Program Verification Zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften von der KIT-Fakult¨atf¨urInformatik des Karlsruher Instituts f¨urTechnologie (KIT) genehmigte Dissertation von Sarah Caecilia Grebing aus Mannheim Tag der m¨undlichen Pr¨ufung: 07. Februar 2019 Erster Gutachter: Prof. Dr. Bernhard Beckert Zweiter Gutachter: Assoc. Prof. Dr. Andr´ePlatzer Contents Deutsche Zusammenfassung xv 1. Introduction1 1.1. Structure and Contribution of this Thesis . .2 1.1.1. Qualitative, Explorative User Studies . .3 1.1.2. Interaction Concept for Interactive Program Verification . .5 1.2. Previously Published Material . .6 I. Foundations for this Thesis9 2. Usability of Software Systems: Background and Methods 11 2.1. Human-Computer Interaction . 12 2.2. User-Centered Process . 12 2.3. Usability . 13 2.3.1. What is Usability? . 13 2.3.2. Usability Principles . 14 2.4. Interactions . 16 2.4.1. Models of Interaction . 16 2.4.2. Interaction Styles . 18 2.5. Task Analysis . 20 2.5.1. A brief Introduction to Sequence Models . 20 2.6. Evaluation Methods . 22 2.6.1. Questionnaires . 23 2.6.2. Interviews . 24 2.6.3. Focus Groups . 24 2.6.4. Preparation and Conduction of Focus Groups and Interviews . 25 3. Interactive Deductive Program Verification 29 3.1. Introduction . 29 3.2. Logical Calculi . 30 3.3. Specification of Java Programs with JML . 32 3.3.1. Method Contracts . 33 3.3.2. Loop Invariants . 34 3.3.3. Class Invariants . 36 3.3.4. The Purpose of Specifications . 36 3.4. A Brief Introduction to Java Dynamic Logic (JavaDL) .
    [Show full text]
  • Web-Based Interactive Editing and Analytics for Supervised Segmentation of Biomedical Images
    WEB-BASED INTERACTIVE EDITING AND ANALYTICS FOR SUPERVISED SEGMENTATION OF BIOMEDICAL IMAGES A Thesis presented to the Faculty of the Graduate School at the University of Missouri-Columbia In Partial Fulfillment of the Requirements of the Degree Master of Science by RAHUL KUMAR SINGH Dr. Kannappan Palaniappan, Thesis Supervisor DECEMBER 2014 © Copyright by Rahul Kumar Singh 2014 All Rights Reserved The undersigned, appointed by the Dean of the Graduate School, have examined the thesis entitled: WEB-BASED INTERACTIVE EDITING AND ANALYTICS FOR SUPERVISED SEGMENTATION OF BIOMEDICAL IMAGES Presented by Rahul Kumar Singh, a candidate for the degree of Master of Science, and hereby certify that, in their opinion, it is worthy of acceptance. Dr. Kannappan Palaniappan Dr. Jianlin Cheng Dr. Filiz Bunyak ACKNOWLEDGMENTS I would like to thank my advisor Dr. Kannappan Palaniappan for his support and guidance during this project. I completely utilized every opportunity I had during my study at University of Missouri, Columbia with his help and encouragement. I would also like to thank Dr. Stefan Jaeger and Dr. Sema Candemir at the National Institute of Health, Dr. Surya Prasath and Rengarajan Pelapur at the Computation Imaging and Visual Analysis Lab and all my other colleagues for their continuous assistance and advice on this project. I would like to thank Dr. Jianlin Cheng and Dr. Filiz Bunyak for giving me high-quality knowledge and taking out the time to serve on my project committee. I would also like to thank my parents, brother and sister in law for constantly motivating me during this project and guiding me in the right path in all aspects of life and my new born nephew for bringing immense joy in my life.
    [Show full text]
  • LADS Tour Authoring & Playback System
    LADS Tour Authoring & Playback System Master’s Project Report May 20, 2011 James C. Chin [email protected] Department of Computer Science Brown University Providence, RI 02912 CONTENTS 1 Abstract .........................................................................................................................3 2 Introduction ..................................................................................................................4 3 Related Work ................................................................................................................5 4 Design ............................................................................................................................7 4.1 Overall Workflow .......................................................................................................... 7 4.2 Backend Architecture .................................................................................................... 7 4.3 Authoring UI .................................................................................................................. 9 4.4 Playback UI ................................................................................................................. 12 5 Discussion ...................................................................................................................13 5.1 Challenges .................................................................................................................... 13 5.2 Future Work ...............................................................................................................
    [Show full text]
  • Digital Literacy Skills Development Resource
    Digital Literacy Skills Development Resource EARLY LEVEL-FOURTH LEVEL Digital Literacy - Skills Development Resource EARLY LEVEL Building the Curriculum 4 ICT skills, which will be delivered in a variety of contexts and settings throughout the learner’s journey, are detailed in those Experiences and Outcomes within the Technologies Curriculum area under “ICT to enhance learning”. These state that (they) “are likely to be met in all curriculum areas and so all practitioners can contribute to and reinforce them”. EARLY LEVEL EXPERIENCE AND OUTCOME I explore software and use what I learn to solve problems and present my ideas, thoughts or information. TCH 0-03a OTHER RELATED ICT SKILLS I CAN... LEARNING AND TEACHING MIGHT RESOURCES MIGHT (red, amber and green bullet points OUTCOMES MIGHT DEVELOPED INCLUDE: INCLUDE: to show progression of skills) INCLUDE: Log on and off the aware of logging on and on the • General discussion around HWB 0 -16a Generic log in for class computer computer logging on and off HWB 0 -17a • Explanation of having own log in and why log on and off the computer passwords are important and should be kept with a generic log in Think You Know website – hectors secret and not shared with others. World explains the need to keep log on and off the computer • Individual log in on cards for each child with your passwords safe. with their own log in username and password http://tinyurl.com/yjkqopg Move objects on use the pen to move items • Use Serif Craft Artist or the Internet to LIT 0-01a, 0-11a, 0-20a Interactive Whiteboard pen an interactive on the interactive white board move objects around the interactive whiteboard whiteboard.
    [Show full text]
  • Canada Teacher Awar Canada Innovative Teacher Awards 2012 Innovative R Awards
    CANADA INNOVATIVE TEACHER AWARDS 2012 Program Overview and Guidelines 1 TABLE OF CONTENTS 1. Introduction …………………………………………………………………………………3 2. Canada Innovative Teacher Awards & World Wide Global Forum Overview……….4 3. Microsoft Software and Tools for Canada Innovative Teacher Awards Projects………………………………………………5 4. Procedures, Guidelines and Timelines…………………………………………………..6 • Section 1: Create Your Learning Project Video/Criteria • Section 2: Submit Video Learning Activity Application Form 5. Partners in Learning Canada Virtual Innovative Educator Forum Overview:……….9 Virtual Competition for Canada Innovative Teacher Awards • Video Learning Activity Selection Process • Steps/Guidelines for Selected Participants 6. APPENDIX ‘A’: Judging Rubric…………………………………………………………10 7. APPENDIX ‘B’: Instructions to Upload VCT/Learning Activity………………………16 8. APPENDIX ‘C’: Video Learning Activity Application Form…………………………..20 2 1. Introduction About Microsoft in Education http://www.microsoft.com/education/ww/about/Pages/index.aspx An educated population is the one natural resource that increases in value as it increases in size. Microsoft’s mission in education is to help every student and educator around the world realize their full potential by helping educators and school leaders connect, collaborate, create, and share so that students can realize their greatest potential. We do this by building capacity, growing learning communities and expanding teaching and learning through our Partners in Learning Program. Microsoft Partners in Learning Vision Microsoft Partners in Learning is a global initiative designed to actively increase access to technology and improve its use in learning. At Microsoft, we are deeply committed to working with governments, communities, schools, and educators to use the power of information technology to deliver technology, services, and programs that provide anytime, anywhere learning for all.
    [Show full text]
  • Shireland's Learning Gateway
    Case Study Shireland's Learning Gateway 3.8 Personal Learning Networks, Eportfolios and Virtual Learning Environments Introduction Shireland Collegiate Academy serves children from 11-19 in three of the most deprived wards in the country. Many pupils face extreme personal pressures, with 40 percent on the Special Educational Needs Register, 10 percent from families seeking asylum or economic migrants, low parental confidence in supporting their children, and low levels of attainment on entry. With the introduction of a complete content management and e-learning platform, the Learning Gateway, the academy has been able to offer a “family portal” to improve communication between home and school, to re-engage students with personalized learning opportunities, to allow learning to happen in a number of alternative contexts including home and the community setting, and to achieve considerable success in raising levels of attainment. Location England Aim The aim is to increase personalized learning opportunities for Shireland Collegiate Academy students by supporting learning in a variety of contexts including at school, at home, and in community settings. Rationale Personalization has been a focus of UK government policy, and part of that focus has included closer engagement of parents in their children’s learning and education. An extensive learning platform can assist in personalizing learning and in engaging parents and the community in supporting learning. Description Shireland Collegiate Academy is a secondary school supporting learners
    [Show full text]
  • Certifying Certainty and Uncertainty in Approximate Membership Query Structures
    Certifying Certainty and Uncertainty in Approximate Membership Query Structures fact ti * r Comple 1 2;1 t * te n * A A te Kiran Gopinathan and Ilya Sergey s W i E s e n C l * l o D C o * V * c u e A m s E u e e 1 C n R t v e o d t * y * s E School of Computing, National University of Singapore, Singapore a a l d u e a 2 Yale-NUS College, Singapore t fkirang,[email protected] Abstract. Approximate Membership Query structures (AMQs) rely on randomisation for time- and space-efficiency, while introducing a possi- bility of false positive and false negative answers. Correctness proofs of such structures involve subtle reasoning about bounds on probabilities of getting certain outcomes. Because of these subtleties, a number of unsound arguments in such proofs have been made over the years. In this work, we address the challenge of building rigorous and reusable computer-assisted proofs about probabilistic specifications of AMQs. We describe the framework for systematic decomposition of AMQs and their properties into a series of interfaces and reusable components. We imple- ment our framework as a library in the Coq proof assistant and showcase it by encoding in it a number of non-trivial AMQs, such as Bloom filters, counting filters, quotient filters and blocked constructions, and mecha- nising the proofs of their probabilistic specifications. We demonstrate how AMQs encoded in our framework guarantee the absence of false negatives by construction. We also show how the proofs about probabilities of false positives for complex AMQs can be obtained by means of verified reduction to the implementations of their simpler counterparts.
    [Show full text]
  • DNA Data Visualization (DDV): Software for Generating Web-Based Interfaces Supporting Navigation and Analysis of DNA Sequence Data of Entire Genomes
    RESEARCH ARTICLE DNA Data Visualization (DDV): Software for Generating Web-Based Interfaces Supporting Navigation and Analysis of DNA Sequence Data of Entire Genomes Tomasz Neugebauer1*, Eric Bordeleau2, Vincent Burrus2, Ryszard Brzezinski2 1 Concordia University Libraries, Montreal, Quebec, Canada, 2 Département de Biologie, Faculté des Sciences, Université de Sherbrooke, Sherbrooke, Quebec, Canada * [email protected] Abstract OPEN ACCESS Data visualization methods are necessary during the exploration and analysis activities of an increasingly data-intensive scientific process. There are few existing visualization meth- Citation: Neugebauer T, Bordeleau E, Burrus V, Brzezinski R (2015) DNA Data Visualization (DDV): ods for raw nucleotide sequences of a whole genome or chromosome. Software for data Software for Generating Web-Based Interfaces visualization should allow the researchers to create accessible data visualization interfaces Supporting Navigation and Analysis of DNA that can be exported and shared with others on the web. Herein, novel software developed Sequence Data of Entire Genomes. PLoS ONE 10 for generating DNA data visualization interfaces is described. The software converts DNA (12): e0143615. doi:10.1371/journal.pone.0143615 data sets into images that are further processed as multi-scale images to be accessed Editor: Ruslan Kalendar, University of Helsinki, through a web-based interface that supports zooming, panning and sequence fragment FINLAND selection. Nucleotide composition frequencies and GC skew of a selected sequence seg- Received: June 17, 2015 ment can be obtained through the interface. The software was used to generate DNA data Accepted: November 6, 2015 visualization of human and bacterial chromosomes. Examples of visually detectable fea- Published: December 4, 2015 tures such as short and long direct repeats, long terminal repeats, mobile genetic elements, Copyright: © 2015 Neugebauer et al.
    [Show full text]