Lutellier Thibaud.Pdf (6.181Mb)

Total Page:16

File Type:pdf, Size:1020Kb

Lutellier Thibaud.Pdf (6.181Mb) Machine Learning for Software Dependability by Thibaud Lutellier A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Doctor of Philosophy in Electrical and Computer Engineering Waterloo, Ontario, Canada, 2020 © Thibaud Lutellier 2020 Examining Committee Membership The following served on the Examining Committee for this thesis. The decision of the Examining Committee is by majority vote. External Examiner: Martin Monperrus Professor, Division of Theoretical Computer Science, KTH Royal Institute of Technology Supervisor: Lin Tan Professor, Electrical & Computer Engineering, University of Waterloo Internal Member: Vijay Ganesh Professor, Electrical & Computer Engineering, University of Waterloo Derek Rayside Professor, Electrical & Computer Engineering, University of Waterloo Internal-External Member: Michael Godfrey Professor, Dept. of Computer Science, University of Waterloo ii Author’s Declaration This thesis consists of material all of which I authored or co-authored: see Statement of Contributions included in the thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. iii Statement of Contributions As lead author of all the contributions of this thesis, I was responsible for contributing to conceptualizing study design, developing, implementing, and evaluating prototypes and evaluating them, carrying out data collection and analysis, drafting and submitting manuscripts, and presenting the work to conferences. My coauthors provided feedback during each step of the research and on draft manuscripts. Research presented in Chapter 2: Lawrence Pang helped implementing the context- aware model, Hung Viet Pham and Yitong Li helped with evaluating previous automatic program repair tools for C and C++. Moshi Wei helped in gathering training data. Dr. Lin Tan provided feedback and supervision in all parts of the research. Research presented in Chapter 3: Dr. Tomasz Kuchta helped to design and collect the regular expressions for the clustering. Dr. Edmund Wong and Dr. Tomasz Kuchta helped manually checking PDF files for inconsistencies. Dr. Christian Cadar and Dr. Lin Tan provided feedback and supervision in all parts of the research. Research presented in Chapter 4: Devin Chollak helped gathering the dependencies and ground truth of Java projects. Dr. Joshua Garcia provided access and support with the Arcade framework that implements most architecture recovery techniques. Dr. Robert Kroeger helped validating the ground truth of Chromium. Dr. Lin Tan, Dr. Nenad Medvidovic, and Dr. Derek Rayside provided feedback and supervision in all parts of the research. Citations: • Thibaud Lutellier, Hung Viet Pham, Lawrence Pang, Yitong Li, Moshi Wei, and Lin Tan, CoCoNuT: Combining Context-Aware Neural Translation Models Using Ensemble for Program Repair, Proceeding of The ACM SIGSOFT International Symposium on Software Testing and Analysis, 2020 [157]. • Tomasz Kuchta*, Thibaud Lutellier*, Edmund Wong, Lin Tan, and Cristian Cadar, On the Correctness of Electronic Documents: Studying, Finding, and Localizing Inconsistency Bugs in PDF Readers and Files, (* The first two authors contributed equally to this paper), Empirical Software Engineering, 2018 [118]. • Thibaud Lutellier, Devin Chollak, Joshua Garcia, Lin Tan, Derek Rayside, Nenad Medvidovic, and Robert Kroeger, Measuring the Impact of Code Dependencies on Soft- ware Architecture Recovery Techniques, IEEE Transactions on Software Engineering, 2017 [156]. iv • Thibaud Lutellier, Devin Chollack, Joshua Garcia, Lin Tan, Derek Rayside, Ne- nad Medvidovic and Robert Kroeger, Comparing Software Architecture Recovery Techniques Using Accurate Dependencies, Proceeding of ACM/IEEE International Conference on Software Engineering, SEIP track, 2015 [154]. v Abstract Dependability is an important quality of modern software but is challenging to achieve. Many software dependability techniques have been proposed to help developers improve software reliability and dependability such as defect prediction [83,96,249], bug detection [6, 17, 146], program repair [51, 127, 150, 209, 261, 263], test case prioritization [152, 250], or software architecture recovery [13,42,67,111,164,240]. In this thesis we consider how machine learning (ML) and deep-learning (DL) can be used to enhanced software dependability through three examples in three different domains: automatic program repair, bug detection in electronic document readers, and software architecture recovery. In the first work we propose a new G&V technique—CoCoNuT, which uses ensemble learning on the combination of convolutional neural networks (CNNs) and a new context- aware neural machine translation (NMT) architecture to automatically fix bugs in multiple programming languages. To better represent the context of a bug, we introduce a new context-aware NMT architecture that represents the buggy source code and its surrounding context separately. CoCoNuT uses CNNs instead of recurrent neural networks (RNNs), since CNN layers can be stacked to extract hierarchical features and better model source code at different granularity levels (e.g., statements and functions). In addition, CoCoNuT takes advantage of the randomness in hyperparameter tuning to build multiple models that fix different bugs and combines these models using ensemble learning to fix more bugs. CoCoNuT fixes 493 bugs, including 307 bugs that are fixed by none of the 27 techniques with which we compare. In the second work, we present a study on the correctness of PDF documents and readers and propose an approach to detect and localize the source of such inconsistencies automatically. We evaluate our automatic approach on a large corpus of over 230K documents using 11 popular readers and our experiments have detected 30 unique bugs in these readers and files. In the third work we compare software architecture recovery techniques to understand their effectiveness and applicability. Specifically, we study the impact of leveraging accurate symbol dependencies on the accuracy of architecture recovery techniques. In addition, we evaluate other factors of the input dependencies such as the level of granularity and the dynamic-bindings graph construction. The results of our evaluation of nine architecture recovery techniques and their variants suggest that (1) using accurate symbol dependencies has a major influence on recovery quality, and (2) more accurate recovery techniques are needed. Our results show that some of the studied architecture recovery techniques scale to very large systems, whereas others do not. vi Acknowledgements I would like to particularly thank my supervisor, Dr. Lin Tan: thank you for taking me as a student, helping and supporting me during all these years. I learned and grew so much under her supervision and mentorship, I could not have wished for a better supervisor! I would like to thank my examination committee members—Dr. Martin Monperrus, Dr. Thomas Zimmermann, Dr. Sebastian Fischmeister, and Dr. Vijay Ganesh, Dr. Derek Rayside, and Dr. Michael Godfrey for their support, valuable feedback, and insightful discussion on my research. Thanks to all the students in our research team at the University of Waterloo who made going to the lab every day a pleasure: Dr. Jaechang Nam, Dr. Jinqiu Yang, Dr. Edmund Wong, Dr. Song Wang, Dr. Nasir Ali, Lei Zhang, Quinn Hanam, Sandeep Chaudhary, Devin Chollak, Ming Tan, Michael Chong, Taiyue Liu, Yuefei Liu, Alexey Zhikhartsev, Yuan Xi, Moshi Wei, Hung Pham, and Yitong Li—thank you very much for all the friendship, support, and joy. I also want to thank the team at Purdue University, while the opportunities to meet in person were rare, we had great online conversations and I learned a lot from them: Nan Jiang, Shangshu Qian, Jonathan Rosenthal, Jiannan Wang, Danning Xie, and Dr. Mijung Kim. I want to thank all my other collaborators during my Ph.D. study: Dr. Joshua Garcia, Dr. Nenad Medvidovic, Dr. Robert Kroeger, Dr. Tomasz Kuchta, Dr. Cristian Cadar, Lawrence Pang, Dr. Yaoliang Yu, Dr. Nachiappan Nagappan, Weizhen Qi, Dr. Hossain Shahriar, Dr. Komminist Weldemariam, and Dr. Mohammad Zulkernine. I really enjoyed working with them, and have learned a lot from them. vii Dedication This is dedicated to Sarah. You supported me through all these years, this work is also here thanks to you. viii Table of Contents List of Figures xiv List of Tables xvi 1 Introduction1 1.1 Project 1 – Combining Context-Aware Neural Translation Models using Ensemble for Automated Program Repair:..................2 1.2 Project 2 – On the Correctness of Electronic Documents: Studying, Finding, and Localizing Inconsistency Bugs in PDF Readers and Files:.......2 1.3 Project 3 – Measuring the Impact of Dependencies on Software Architecture Recovery Techniques:..............................3 1.4 Publications...................................4 2 Related Work6 2.1 Neural Machine Translation Models for APR.................6 2.1.1 Deep Learning for Automatic Program Repair:............6 2.1.2 G&V Program Repair:.........................7 2.1.3 Grammatical Error Correction (GEC):................7 2.1.4 Deep Learning in Software Engineering:................7 2.2 Finding, and Localizing Inconsistency Bugs in PDF Readers and Files...7 2.2.1 Cross PDF Reader Inconsistency:...................7 2.2.2 Cross Browser Inconsistency:......................8 ix 2.2.3 Vulnerabilities in PDF files:......................9
Recommended publications
  • Vulnerability Report Attacks Bypassing Confidentiality in Encrypted PDF
    Vulnerability Report Attacks bypassing confidentiality in encrypted PDF Jens M¨uller1, Fabian Ising2, Vladislav Mladenov1, Christian Mainka1, Sebastian Schinzel2, J¨orgSchwenk1 May 16, 2019 1Chair for Network and Data Security 2FH M¨unsterUniversity of Applied Sciences Abstract In this report, we analyze PDF encryption and show two novel techniques for breaking the confidentiality of encrypted documents. Firstly, we abuse the PDF feature of partially encrypted documents to wrap the encrypted part of the document within attacker-controlled content and therefore, exfiltrate the plaintext once the document is opened by a legitimate user. Secondly, we abuse a flaw in the PDF encryption specification allowing an attacker to arbitrarily manipulate encrypted content without knowing the cor- responding key/password. The only requirement is one single block of known plaintext, which we show is fulfilled by design. By using exfiltration channels our attacks allow the recovery of the entire plaintext or parts of it within an encrypted document. The attacks rely only on standard compliant PDF features. We evaluated our attacks on 27 widely used PDF viewers and found all of them vulnerable. 1 Contents 1 Background4 1.1 Portable Document Format (PDF) . .4 1.2 PDF Encryption . .6 1.3 PDF Interactive Features . .7 2 Attacker Model8 3 PDF Encryption: Security Analysis9 3.1 Partial Encryption . .9 3.2 CBC Malleability . 10 3.3 PDF Interactive Features . 12 4 How To Break PDF Encryption 14 4.1 Direct Exfiltration (Attack A) . 14 4.1.1 Requirements . 15 4.1.2 Direct Exfiltration through PDF Forms (A1) . 15 4.1.3 Direct Exfiltration via Hyperlinks (A2) .
    [Show full text]
  • Living Without Google on Android
    Alternative for Google Apps on Android - living without Google on Android Android without any Google App? What to use instead of Hangouts, Map, Gmail? Is that even possible? And why would anyone want to live without Google? I've been using a lot of different custom ROMs on my devices, so far the two best: plain Cyanogenmod 11 snapshot on the Nexus 4[^1], and MIUI 2.3.2 on the HTC Desire G7[^2]. All the others ( MUIU 5, MIUI 6 unofficial, AOKP, Kaos, Slim, etc ) were either ugly, unusable, too strange or exceptionally problematic on battery life. For a long time, the first step for me was to install the Google Apps, gapps packages for Plays Store, Maps, and so on, but lately they require so much rights on the phone that I started to have a bad taste about them. Then I started to look for alternatives. 1 of 5 So, what to replace with what? Play Store I've been using F-Droid[^3] as my primary app store for a while now, but since it's strictly Free Software[^4] store only, sometimes there's just no app present for your needs; aptoide[^5] comes very handy in that cases. Hangouts I never liked Hangouts since the move from Gtalk although for a little while it was exceptional for video - I guess it ended when the mass started to use it in replacement of Skype and its recent suckyness. For chat only, check out: ChatSecure[^6], Conversations[^7] or Xabber[^8]. All of them is good for Gtalk-like, oldschool client and though Facebook can be configured as XMPP as well, I'd recommend Xabber for that, the other two is a bit flaky with Facebook.
    [Show full text]
  • Ghostscript and Mupdf Status Openprinting Summit April 2016
    Ghostscript and MuPDF Status OpenPrinting Summit April 2016 Michael Vrhel, Ph.D. Artifex Software Inc. San Rafael CA Outline Ghostscript overview What is new with Ghostscript MuPDF overview What is new with MuPDF MuPDF vs Ghostscript MuJS, GSView The Basics Ghostscript is a document conversion and rendering engine. Written in C ANSI 1989 standard (ANS X3.159-1989) Essential component of the Linux printing pipeline. Dual AGPL/Proprietary licensed. Artifex owns the copyright. Source and documentation available at www.ghostscript.com Graphical Overview PostScript PCL5e/c with PDF 1.7 XPS Level 3 GL/2 and RTL PCLXL Ghostscript Graphics Library High level Printer drivers: Raster output API: Output drivers: Inkjet TIFF PSwrite PDFwrite Laser JPEG XPSwrite Custom etc. CUPS Devices Understanding devices is a major key to understanding Ghostscript. Devices can have high-level functionality. e.g. pdfwrite can handle text, images, patterns, shading, fills, strokes and transparency directly. Graphics library has “default” operations. e.g. text turns into bitmaps, images decomposed into rectangles. In embedded environments, calls into hardware can be made. Raster devices require the graphics library to do all the rendering. Relevant Changes to GS since last meeting…. A substantial revision of the build system and GhostPDL directory structure (9.18) GhostPCL and GhostXPS "products" are now built by the Ghostscript build system "proper" rather than having their own builds (9.18) New method of internally inserting devices into the device chain developed. Allows easier implementation of “filter” devices (9.18) Implementation of "-dFirstPage"/"-dLastPage" with all input languages (9.18) Relevant Changes to GS since last meeting….
    [Show full text]
  • Breaking PDF Encryption
    Practical Decryption exFiltration: Breaking PDF Encryption Jens Müller Fabian Ising Vladislav Mladenov [email protected] [email protected] [email protected] Ruhr University Bochum, Chair for Münster University of Applied Ruhr University Bochum, Chair for Network and Data Security Sciences Network and Data Security Christian Mainka Sebastian Schinzel Jörg Schwenk [email protected] [email protected] [email protected] Ruhr University Bochum, Chair for Münster University of Applied Ruhr University Bochum, Chair for Network and Data Security Sciences Network and Data Security ABSTRACT Home/Trusted Environment The Portable Document Format, better known as PDF, is one of the Decrypted Document 1. Victim opens 2. Exfiltrating Tax Declaration decrypted content most widely used document formats worldwide, and in order to en- an encrypted PDF file Scrooge McDuck with their password via the Internet sure information confidentiality, this file format supports document TOP SECRET Victim encryption. In this paper, we analyze PDF encryption and show Attacker two novel techniques for breaking the confidentiality of encrypted Victim’s PC documents. First, we abuse the PDF feature of partially encrypted documents to wrap the encrypted part of the document within Figure 1: An overview of the attack scenario: The victim attacker-controlled content and therefore, exfiltrate the plaintext opens an encrypted PDF document and unintentionally once the document is opened by a legitimate user. Second, we abuse leaks the decrypted content to an attacker-controlled server. a flaw in the PDF encryption specification to arbitrarily manipulate The encrypted PDF file was manipulated by the attacker be- encrypted content.
    [Show full text]
  • Complete Issue 40:3 As One
    TUGBOAT Volume 40, Number 3 / 2019 General Delivery 211 From the president / Boris Veytsman 212 Editorial comments / Barbara Beeton TEX Users Group 2019 sponsors; Kerning between lowercase+uppercase; Differential “d”; Bibliographic archives in BibTEX form 213 Ukraine at BachoTEX 2019: Thoughts and impressions / Yevhen Strakhov Publishing 215 An experience of trying to submit a paper in LATEX in an XML-first world / David Walden 217 Studying the histories of computerizing publishing and desktop publishing, 2017–19 / David Walden Resources 229 TEX services at texlive.info / Norbert Preining 231 Providing Docker images for TEX Live and ConTEXt / Island of TEX 232 TEX on the Raspberry Pi / Hans Hagen Software & Tools 234 MuPDF tools / Taco Hoekwater 236 LATEX on the road / Piet van Oostrum Graphics 247 A Brazilian Portuguese work on MetaPost, and how mathematics is embedded in it / Estev˜aoVin´ıcius Candia LATEX 251 LATEX news, issue 30, October 2019 / LATEX Project Team Methods 255 Understanding scientific documents with synthetic analysis on mathematical expressions and natural language / Takuto Asakura Fonts 257 Modern Type 3 fonts / Hans Hagen Multilingual 263 Typesetting the Bangla script in Unicode TEX engines—experiences and insights Document Processing / Md Qutub Uddin Sajib Typography 270 Typographers’ Inn / Peter Flynn Book Reviews 272 Book review: Hermann Zapf and the World He Designed: A Biography by Jerry Kelly / Barbara Beeton 274 Book review: Carol Twombly: Her brief but brilliant career in type design by Nancy Stock-Allen / Karl
    [Show full text]
  • Incorporer Les Polices Dans Un Document Libreoffice Une Police D’Écriture Ou Police De Caractères Est Une Manière D'écrire Les Caractères
    Incorporer les polices dans un document LibreOffice Une police d’écriture ou police de caractères est une manière d'écrire les caractères. Il en existe énormément et pour à peu près tous les usages. Si vous communiquez électroniquement avec d'autres, il est fort probable qu'ils n'aient pas toutes vos polices numériques. De plus, certaines sont couvertes par un droit d'auteur strict (au sens où l'auteur ne donne pas plus de droits aux utilisateurs que la loi lui oblige) et le droit des marques. C'est un véritable problème. En effet, les polices de caractères informatiques déterminent beaucoup de choses, dont la taille des caractères, l'apparence des caractères et l'espacement entre ceux-ci. Si votre correspondant n'a pas les mêmes polices que vous, votre texte peut donc être visuellement déformé. Les logiciels essayent généralement de trouver la police la plus proche, mais ce n'est pas toujours une grande réussite. Pour combler ce problème, il faut intégrer les polices aux documents que vous transmettez. Bien entendu, cela rendra plus lourd vos documents étant donné qu'ils auront les polices en plus. La bonne nouvelle est que LibreOffice (au moins à partir de la version 4.3) permet cela ! Dans un document OpenDocument OpenDocument est un format ouvert et standardisé qui est utilisé par défaut dans LibreOffice, OpenOffice et Calligra. Les fichiers OpenDocument ont généralement une extension .odx, avec "x" un caractère quelconque. Pour incorporer les polices d'un document au format OpenDocument, suivez les étapes suivantes. 1. Ouvrez votre document au format OpenDocument avec LibreOffice.
    [Show full text]
  • Pymupdf 1.12.2 Documentation » Next | Index Pymupdf Documentation
    PyMuPDF 1.12.2 documentation » next | index PyMuPDF Documentation Introduction Note on the Name fitz License Covered Version Installation Option 1: Install from Sources Step 1: Download PyMuPDF Step 2: Download and Generate MuPDF Step 3: Build / Setup PyMuPDF Option 2: Install from Binaries Step 1: Download Binary Step 2: Install PyMuPDF MD5 Checksums Targeting Parallel Python Installations Using UPX Tutorial Importing the Bindings Opening a Document Some Document Methods and Attributes Accessing Meta Data Working with Outlines Working with Pages Inspecting the Links of a Page Rendering a Page Saving the Page Image in a File Displaying the Image in Dialog Managers Extracting Text Searching Text PDF Maintenance Modifying, Creating, Re-arranging and Deleting Pages Joining and Splitting PDF Documents Saving Closing Example: Dynamically Cleaning up Corrupt PDF Documents Further Reading Classes Annot Example Colorspace Document Remarks on select() select() Examples setMetadata() Example setToC() Example insertPDF() Examples Other Examples Identity IRect Remark IRect Algebra Examples Link linkDest Matrix Remarks 1 Remarks 2 Matrix Algebra Examples Shifting Flipping Shearing Rotating Outline Page Description of getLinks() Entries Notes on Supporting Links Homologous Methods of Document and Page Pixmap Supported Input Image Types Details on Saving Images with writeImage() Pixmap Example Code Snippets Point Remark Point Algebra Examples Shape Usage Examples Common Parameters Rect Remark Rect Algebra Examples Operator Algebra for Geometry Objects
    [Show full text]
  • Referência Debian I
    Referência Debian i Referência Debian Osamu Aoki Referência Debian ii Copyright © 2013-2021 Osamu Aoki Esta Referência Debian (versão 2.85) (2021-09-17 09:11:56 UTC) pretende fornecer uma visão geral do sistema Debian como um guia do utilizador pós-instalação. Cobre muitos aspetos da administração do sistema através de exemplos shell-command para não programadores. Referência Debian iii COLLABORATORS TITLE : Referência Debian ACTION NAME DATE SIGNATURE WRITTEN BY Osamu Aoki 17 de setembro de 2021 REVISION HISTORY NUMBER DATE DESCRIPTION NAME Referência Debian iv Conteúdo 1 Manuais de GNU/Linux 1 1.1 Básico da consola ................................................... 1 1.1.1 A linha de comandos da shell ........................................ 1 1.1.2 The shell prompt under GUI ......................................... 2 1.1.3 A conta root .................................................. 2 1.1.4 A linha de comandos shell do root ...................................... 3 1.1.5 GUI de ferramentas de administração do sistema .............................. 3 1.1.6 Consolas virtuais ............................................... 3 1.1.7 Como abandonar a linha de comandos .................................... 3 1.1.8 Como desligar o sistema ........................................... 4 1.1.9 Recuperar uma consola sã .......................................... 4 1.1.10 Sugestões de pacotes adicionais para o novato ................................ 4 1.1.11 Uma conta de utilizador extra ........................................ 5 1.1.12 Configuração
    [Show full text]
  • Er Is Geen Gebrek Aan Linux Applicaties Om Je Foto's Te Bekijken
    Afbeelding 1: Foto’s bekijken. (zie afbeelding 1). Gebruik die om naar een directory met foto’s te navigeren. Geeqie gaat meteen op zoek naar foto’s. Bestanden die Geeqie niet als foto herkent, slaat hij gewoon over. Geeqie toont in het centrale deel de eerste foto. Onder de file browser staat de lijst met alle overige gevonden foto’s. Standaard is die lijst alfabetisch gerangschikt. Om bijvoorbeeld op datum te sorteren, klik je beneden op Sort by name. Vervolgens kies je Sort by date. Als je graag een thumb- nail bij de bestandsnaam ziet voor een eerste indruk van de foto, ga je naar View -> Files and Folders. Vink daar Show Thumbnails aan. Door op een bestand in de lijst te klikken, open je de desbetreffende foto. Om achter elkaar door de lijst te lopen zijn de PageUp en PageDown toet- sen handig. Heen en weer scrollen met het muiswieltje heeft hetzelfde effect. Als je dat doet met de Ctrl- toets ingedrukt, zoom je in en uit. Soms maak je meerdere foto’s achter elkaar, bijvoorbeeld met verschillende sluitertijden, om later de foto met de mooiste belichting te kiezen. Het is dan handig om de fo- to’s bij elkaar te zien. Dat doe je via View -> Split. Hier kies je of je twee foto’s naast of juist onder elkaar wilt zien. Met de optie Quad toont Geeqie zelfs vier foto’s tegelijk. Om de foto’s samen in- of uit te zoomen, gebruik je Shift samen met de plus- en mintoetsen van het numerieke deel van je toetsenbord.
    [Show full text]
  • Osspolice - Identifying Open-Source License Violation and 1-Day Security Risk at Large Scale
    OSSPolice - Identifying Open-Source License Violation and 1-day Security Risk at Large Scale Ruian Duan, Ashish Bijlani, Meng Xu Taesoo Kim, Wenke Lee ACM CCS 2017 1 Background • Open SourCe Software (OSS) is gaining popularity, e.g. GitHub reported 20M users and 57M repos • Mobile app market grows fast with over 2M apps on Play Store • Developers reuse OSS as is for lots of benefits • Legal risks and seCurity risks arise 2 Risks in OSS use • OSS liCenses have Constraints (e.g. For now, GNU GPL is an GNU GPL requires derivative works enforceable contract, says US to open sourCe) federal judge! Artifex Slaps Palm with PDF Reader Copyright Suit Equifax blames open-source • 1-day vulnerabilities in stale OSS software for its record-breaking versions are exploited by haCkers security breach Community Health Systems Breach Possible due to Heartbleed Vulnerability 3 Goal • Design a tool, OSSPoliCe, to analyze Android apps for open-sourCe license violation and 1-day seCurity risk by deteCting reuse of OSS and their versions at large sCale • Requirements • AcCurate deteCtion for hundreds of thousands of OSS • AcCurate version pinpointing • EffiCient resourCe usage • Fast search to support vetting a large number of Android apps 4 Overview and challenges • Feature selection • Source vs binary: automatiCally building sourCe Code is hard, due to dependenCies, various build configs etC. • Compare App against OSS • Fused app binaries: multiple OSS Can be linked or compiled into a single file • Partial builds and internal code clones: not all OSS features
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Moon+ Reader User Manual
    Moon+ Reader User Manual You can download the OverDrive app and Moon+ Reader from the Amazon appstore on Fire HDX tablets. Kindle Tips and Tricks Advanced User Guide. Moon+Reader Pro Apk Full Free Download Latest Version Moon+Reader Pro Apk better designed book reader through powerful controls & full purposes, ropes. A Google User. Awesome customization Moon+ Reader has awesome customization capabilities! You can pick your favorite fonts, font colors, wallpapers. It has a simple user interface which doesn't distract you from the book, Allows Offline dictionaries + Moon+ Reader or Colordict + Moon+ Reader, are good combinations. Books: Where do I get solution manual for "Chemcal Engineering. Translation, Share functions all in moon+ ebook reader. tables correctly but also removes all of the nice user interface functions that make this app useful. Since version 1.47, user defined emblems (icons) can be displayed next to covers an example is a recipe book made using the "Recipe Reader" plugin in calibre. powerful these searches can be see the user manual page on the subject. Moon+ Reader User Manual Read/Download One app may have a better user interface, the other one may be more stable. You may realize that there is Moon+ Reader offers a lot of customization options. Moon+ Reader Pro v2.6.7 Apk Free (Patched/Modded) Re. website to provide a perfect user experience which includes easy reading and navigating you site. Play Books, Kobo, Kindle, Moon+ Reader, FBReader, Feedly, Comixology, etc. your preference, there is no detailed user manual that explains everything. Discover a new way to read e-books with the Prestigio eReader application.
    [Show full text]