Aligning Intent and Behavior in Software Systems: How Programs Communicate & Their Distribution and Organization

Total Page:16

File Type:pdf, Size:1020Kb

Aligning Intent and Behavior in Software Systems: How Programs Communicate & Their Distribution and Organization © 2020 William B. Dietz ALIGNING INTENT AND BEHAVIOR IN SOFTWARE SYSTEMS: HOW PROGRAMS COMMUNICATE & THEIR DISTRIBUTION AND ORGANIZATION BY WILLIAM B. DIETZ DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign, 2020 Urbana, Illinois Doctoral Committee: Professor Vikram Adve, Chair Professor John Regehr, University of Utah Professor Tao Xie Assistant Professor Sasa Misailovic ABSTRACT Managing the overwhelming complexity of software is a fundamental challenge because complex- ity is the root cause of problems regarding software performance, size, and security. Complexity is what makes software hard to understand, and our ability to understand software in whole or in part is essential to being able to address these problems effectively. Attacking this overwhelming complexity is the fundamental challenge I seek to address by simplifying how we write, organize and think about programs. Within this dissertation I present a system of tools and a set of solutions for improving the nature of software by focusing on programmer’s desired outcome, i.e. their intent. At the program level, the conventional focus, it is impossible to identify complexity that, at the system level, is unnecessary. This “accidental complexity” includes everything from unused features to independent implementations of common algorithmic tasks. Software techniques driving innovation simultaneously increase the distance between what is intended by humans – developers, designers, and especially the users – and what the executing code does in practice. By preserving the declarative intent of the programmer, which is lost in the traditional process of compiling and linking and building software, it is easier to abstract away unnecessary details. The Slipstream, ALLVM, and software multiplexing methods presented here automatically reduce complexity of programs while retaining intended function of the program. This results in improved performance at both startup and run-time, as well as reduced disk and memory usage. ii To Clare, Brian, Noelle, and Chex. iii ACKNOWLEDGMENTS This has been a long and difficult journey, and there are many people I would like to thank and words I wish I could find to thank them with. With humility and gratitude I apologize for anyone forgotten and for inadequately expressing my thanks to both you and even those mentioned; thank you to each of you wonderful people! Thank you for the many ways you helped me to learn and grow into the scholar and person that I needed to be to see this through. I thank Andrew Lenharth for letting me work with him as an undergraduate student in the LLVM research group. Working with you inspired me to go down this crazy winding road. I thank my advisor Professor Vikram Adve for your support and for allowing me the freedom to explore and find my way through what it means to be a researcher. Not many advisors would put up with the tumultuous path I took nor the emphasis on philosophy I placed on “doctor of philosophy” while pursuing it in computer science. Thank you. I thank my coworkers, coauthors, colleagues, and peers Arushi Aggarwal, Sean Bartell, Joshua Cranmer, Assistant Professor John Criswell, Sandeep Dasgupta, Assistant Professor Nathan Dautenhahn, Theo Kasampalis, Maria Kotsifakou, John Mainzer, and Scott Moore for your collaboration, ideas, and insights on projects and for your camaraderie throughout this journey. Thank you for our great conversations about everything from computer science to life. I thank the LLVM group undergraduate students, and now alumni, Tom Chen, Matthew Plant, Tarun Rajendran, and Matthew Wala for their hard work on the various projects that contributed to work included in the dissertation. I thank the administrative staff at the Department of Computer Science in the Grainger College of Engineering, especially Viveka and Maggie for all their help navigating paperwork and deadlines. I also thank Vikram’s former faculty office support specialist Michelle for helping with travel, reimbursements, and more. I thank my committee members Professor John Regehr, Professor Tao Xie, and Assistant Professor Sasa Misailovic. From the bottom of my heart, I want to thank my best friends Brian and Noëlle James for always helping me, whether it was related to grad school or not. You two believed in me at times I could not believe in myself. Thank you for not giving up on me and for carrying me across the finish line. I thank my Mom, brother Nat, and sister Angel for all their unconditional love and support during my grad school experience. Nat, thank you for our unforgettable ice fishing trips and weekly FIFA nights (“SHOOOOSH!”). Angel, thank you for the always-fun weekends at your place, and especially for my The Little Engine That Could book, which I still cherish. “I thought I could. I thought I could”. I thank my girlfriend Clare for more than I can say. Thank you for your love, unwavering support, and for always believing in me. Thank you for putting up with my attempts to compare my research iv in computers with bridges and concrete. Hey, it kinda worked, way better than anyone would have expected it to. Finally, I thank my cat Chex whose companionship and presence have been essential to my happiness and sanity while completing this dissertation. I do not thank you for standing on my laptop, but admit it was an effective way to remind me of many things such as ensuring Isaved often and that it’s important to take breaks. Most especially you always brought me to the here and now, dragging out of my nonsense into partaking in your joy of the present. Life is good and happiness comes easily if you let it, you would demonstrate, as long as there’s food, play, and snuggles. Thank you. To you and to ##uiuc-llvm I say: Meow. v TABLE OF CONTENTS CHAPTER 1 INTRODUCTION .................................. 1 1.1 Dissertation Contributions..................................3 CHAPTER 2 RELATED WORK .................................. 5 2.1 Background..........................................5 2.2 Slipstream...........................................8 2.3 ALLVM............................................. 11 2.4 Software Multiplexing.................................... 12 CHAPTER 3 SLIPSTREAM: AUTOMATIC OPTIMIZATION OF INTERPROCESS COMMUNICATION ........................................ 14 3.1 Context............................................. 14 3.2 Introduction.......................................... 14 3.3 Slipstream Overview..................................... 16 3.4 Design and Implementation................................. 19 3.5 Discussion........................................... 22 3.6 Results............................................. 25 3.7 Acknowledgements...................................... 32 3.8 Conclusion........................................... 33 CHAPTER 4 ALLVM ......................................... 34 4.1 Introduction.......................................... 34 4.2 Forging an Allexe....................................... 39 4.3 Specific Challenges Encountered.............................. 46 4.4 Running an Allexe...................................... 52 4.5 ALLVM Utility Suite..................................... 54 CHAPTER 5 SOFTWARE MULTIPLEXING ........................... 57 5.1 Preface............................................. 57 5.2 Introduction.......................................... 57 5.3 Extending ALLVM...................................... 62 5.4 Generating Multicall Programs............................... 64 5.5 Statically Linking Shared Libraries............................. 68 5.6 Evaluation........................................... 69 5.7 Discussion........................................... 78 5.8 Conclusions.......................................... 80 CHAPTER 6 CONCLUSIONS ................................... 81 6.1 Future Directions....................................... 81 6.2 Discussion........................................... 84 REFERENCES .............................................. 88 vi APPENDIX A MULTIPLEXING: ADDITIONAL RESULTS .................. 97 A.1 Impact of Multiplexing on Compression.......................... 97 A.2 Binary Sizes for Various Software.............................. 98 A.3 One-Binary LEMP....................................... 100 APPENDIX B MULTIPLEXING: THEMED COLLECTIONS ................. 101 B.1 List of Packages in Each Collection............................. 101 B.2 Binary Sizes for “Logic” Collection............................. 102 vii CHAPTER 1: INTRODUCTION Simple things should be simple, complex things should be possible —Alan Kay Software is often slower, consumes more resources, and has undesired behavior and bugs; in summary we find our software doesn’t do what we want it to do. Complexity is the rootcause of problems regarding software performance, size, and security. Attacking this overwhelming complexity is the fundamental challenge I seek to address. In the seminal paper “No Silver Bullet — Essence and Accidents of Software Engineering” [1], Brooks argues that, fundamentally, any approach of writing software captures both intentional and accidental complexity. Moseley and Marks [2], in contrast, suggest that declarative programming can capture only the essential complexity, without side effects. Certainly, to the extent possible, encapsulating only the intended complexity and avoiding all accidental complexity is ideal. However, this is not how software
Recommended publications
  • Release Notes for X11R6.8.2 the X.Orgfoundation the Xfree86 Project, Inc
    Release Notes for X11R6.8.2 The X.OrgFoundation The XFree86 Project, Inc. 9February 2005 Abstract These release notes contains information about features and their status in the X.Org Foundation X11R6.8.2 release. It is based on the XFree86 4.4RC2 RELNOTES docu- ment published by The XFree86™ Project, Inc. Thereare significant updates and dif- ferences in the X.Orgrelease as noted below. 1. Introduction to the X11R6.8.2 Release The release numbering is based on the original MIT X numbering system. X11refers to the ver- sion of the network protocol that the X Window system is based on: Version 11was first released in 1988 and has been stable for 15 years, with only upwardcompatible additions to the coreX protocol, a recordofstability envied in computing. Formal releases of X started with X version 9 from MIT;the first commercial X products werebased on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.OrgGroup released versions X11R3 through X11R6.6, beforethe founding of the X.OrgFoundation. Therewill be futuremaintenance releases in the X11R6.8.x series. However,efforts arewell underway to split the X distribution into its modular components to allow for easier maintenance and independent updates. We expect a transitional period while both X11R6.8 releases arebeing fielded and the modular release completed and deployed while both will be available as different consumers of X technology have different constraints on deployment. Wehave not yet decided how the modular X releases will be numbered. We encourage you to submit bug fixes and enhancements to bugzilla.freedesktop.orgusing the xorgproduct, and discussions on this server take place on <[email protected]>.
    [Show full text]
  • Resurrect Your Old PC
    Resurrect your old PCs Resurrect your old PC Nostalgic for your old beige boxes? Don’t let them gather dust! Proprietary OSes force users to upgrade hardware much sooner than necessary: Neil Bothwick highlights some great ways to make your pensioned-off PCs earn their keep. ardware performance is constantly improving, and it is only natural to want the best, so we upgrade our H system from time to time and leave the old ones behind, considering them obsolete. But you don’t usually need the latest and greatest, it was only a few years ago that people were running perfectly usable systems on 500MHz CPUs and drooling over the prospect that a 1GHz CPU might actually be available quite soon. I can imagine someone writing a similar article, ten years from now, about what to do with that slow, old 4GHz eight-core system that is now gathering dust. That’s what we aim to do here, show you how you can put that old hardware to good use instead of consigning it to the scrapheap. So what are we talking about when we say older computers? The sort of spec that was popular around the turn of the century. OK, while that may be true, it does make it seem like we are talking about really old hardware. A typical entry-level machine from six or seven years ago would have had something like an 800MHz processor, Pentium 3 or similar, 128MB of RAM and a 20- 30GB hard disk. The test rig used for testing most of the software we will discuss is actually slightly lower spec, it has a 700MHz Celeron processor, because that’s what I found in the pile of computer gear I never throw away in my loft, right next to my faithful old – but non-functioning – Amiga 4000.
    [Show full text]
  • An Introduction to the X Window System Introduction to X's Anatomy
    An Introduction to the X Window System Robert Lupton This is a limited and partisan introduction to ‘The X Window System’, which is widely but improperly known as X-windows, specifically to version 11 (‘X11’). The intention of the X-project has been to provide ‘tools not rules’, which allows their basic system to appear in a very large number of confusing guises. This document assumes that you are using the configuration that I set up at Peyton Hall † There are helpful manual entries under X and Xserver, as well as for individual utilities such as xterm. You may need to add /usr/princeton/X11/man to your MANPATH to read the X manpages. This is the first draft of this document, so I’d be very grateful for any comments or criticisms. Introduction to X’s Anatomy X consists of three parts: The server The part that knows about the hardware and how to draw lines and write characters. The Clients Such things as terminal emulators, dvi previewers, and clocks and The Window Manager A programme which handles negotiations between the different clients as they fight for screen space, colours, and sunlight. Another fundamental X-concept is that of resources, which is how X describes any- thing that a client might want to specify; common examples would be fonts, colours (both foreground and background), and position on the screen. Keys X can, and usually does, use a number of special keys. You are familiar with the way that <shift>a and <ctrl>a are different from a; in X this sensitivity extends to things like mouse buttons that you might not normally think of as case-sensitive.
    [Show full text]
  • Lightweight Distros on Test
    GROUP TEST LIGHTWEIGHT DISTROS LIGHTWEIGHT DISTROS GROUP TEST Mayank Sharma is on the lookout for distros tailor made to infuse life into his ageing computers. On Test Lightweight distros here has always been a some text editing, and watch some Linux Lite demand for lightweight videos. These users don’t need URL www.linuxliteos.com Talternatives both for the latest multi-core machines VERSION 2.0 individual apps and for complete loaded with several gigabytes of DESKTOP Xfce distributions. But the recent advent RAM or even a dedicated graphics Does the second version of the distro of feature-rich resource-hungry card. However, chances are their does enough to justify its title? software has reinvigorated efforts hardware isn’t supported by the to put those old, otherwise obsolete latest kernel, which keeps dropping WattOS machines to good use. support for older hardware that is URL www.planetwatt.com For a long time the primary no longer in vogue, such as dial-up VERSION R8 migrators to Linux were people modems. Back in 2012, support DESKTOP LXDE, Mate, Openbox who had fallen prey to the easily for the i386 chip was dropped from Has switching the base distro from exploitable nature of proprietary the kernel and some distros, like Ubuntu to Debian made any difference? operating systems. Of late though CentOS, have gone one step ahead we’re getting a whole new set of and dropped support for the 32-bit SparkyLinux users who come along with their architecture entirely. healthy and functional computers URL www.sparkylinux.org that just can’t power the newer VERSION 3.5 New life DESKTOP LXDE, Mate, Xfce and others release of Windows.
    [Show full text]
  • Vnote Documentation Release 1.11.1
    VNote Documentation Release 1.11.1 Le Tan Feb 13, 2019 User Documentation 1 Why VNote 3 1.1 What is VNote..............................................3 1.2 Why Another Markdown Wheel.....................................3 2 Getting Started 5 2.1 Main Interface..............................................5 2.2 Ready To Go...............................................7 3 Build VNote 9 3.1 Get the Source Code of VNote......................................9 3.2 Get Qt 5.9................................................9 3.3 Windows.................................................9 3.4 Linux...................................................9 3.5 MacOS.................................................. 10 4 Notes Management 13 4.1 Notebook................................................. 13 4.2 Folders.................................................. 14 4.3 Notes................................................... 14 5 Snippet 15 5.1 Snippet Management........................................... 15 5.2 Define A Snippet............................................. 16 5.3 Apply A Snippet............................................. 16 5.4 Examples................................................. 16 6 Magic Word 19 6.1 Built-In Magic Words.......................................... 19 6.2 Custom Magic Words.......................................... 20 6.3 Magic Word In Snippet.......................................... 21 7 Template 23 8 Themes and Styles 25 8.1 Themes.................................................. 25 8.2 Editor Styles..............................................
    [Show full text]
  • Automatic Benchmark Profiling Through Advanced Trace Analysis Alexis Martin, Vania Marangozova-Martin
    Automatic Benchmark Profiling through Advanced Trace Analysis Alexis Martin, Vania Marangozova-Martin To cite this version: Alexis Martin, Vania Marangozova-Martin. Automatic Benchmark Profiling through Advanced Trace Analysis. [Research Report] RR-8889, Inria - Research Centre Grenoble – Rhône-Alpes; Université Grenoble Alpes; CNRS. 2016. hal-01292618 HAL Id: hal-01292618 https://hal.inria.fr/hal-01292618 Submitted on 24 Mar 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Automatic Benchmark Profiling through Advanced Trace Analysis Alexis Martin , Vania Marangozova-Martin RESEARCH REPORT N° 8889 March 23, 2016 Project-Team Polaris ISSN 0249-6399 ISRN INRIA/RR--8889--FR+ENG Automatic Benchmark Profiling through Advanced Trace Analysis Alexis Martin ∗ † ‡, Vania Marangozova-Martin ∗ † ‡ Project-Team Polaris Research Report n° 8889 — March 23, 2016 — 15 pages Abstract: Benchmarking has proven to be crucial for the investigation of the behavior and performances of a system. However, the choice of relevant benchmarks still remains a challenge. To help the process of comparing and choosing among benchmarks, we propose a solution for automatic benchmark profiling. It computes unified benchmark profiles reflecting benchmarks’ duration, function repartition, stability, CPU efficiency, parallelization and memory usage.
    [Show full text]
  • Table of Contents Modules and Packages
    Table of Contents Modules and Packages...........................................................................................1 Software on NAS Systems..................................................................................................1 Using Software Packages in pkgsrc...................................................................................4 Using Software Modules....................................................................................................7 Modules and Packages Software on NAS Systems UPDATE IN PROGRESS: Starting with version 2.17, SGI MPT is officially known as HPE MPT. Use the command module load mpi-hpe/mpt to get the recommended version of MPT library on NAS systems. This article is being updated to reflect this change. Software programs on NAS systems are managed as modules or packages. Available programs are listed in tables below. Note: The name of a software module or package may contain additional information, such as the vendor name, version number, or what compiler/library is used to build the software. For example: • comp-intel/2016.2.181 - Intel Compiler version 2016.2.181 • mpi-sgi/mpt.2.15r20 - SGI MPI library version 2.15r20 • netcdf/4.4.1.1_mpt - NetCDF version 4.4.1.1, built with SGI MPT Modules Use the module avail command to see all available software modules. Run module whatis to view a short description of every module. For more information about a specific module, run module help modulename. See Using Software Modules for more information. Available Modules (as
    [Show full text]
  • Antix Xfce Recommended Specs
    Antix Xfce Recommended Specs Upbeat Leigh still disburden: twill and worthful Todd idolatrizes quite deuced but immobilizing her rabato attitudinizedcogently. Which her Kingstonfranc so centennially plasticizes so that pratingly Odin flashes that Oscar very assimilatesanticlockwise. her Algonquin? Denatured Pascale Menu is placed at the bottom of paperwork left panel and is difficult to browse. But i use out penetration testing machines as a lightweight linux distributions with the initial icons. Hence, and go with soft lower score in warmth of aesthetics. Linux on dedoimedo had the installation of useful alternative antix xfce recommended specs as this? Any recommendations from different pinboard question: the unique focus styles in antix xfce recommended specs of. Not recommended for! Colorful background round landscape scenes do we exist will this lightweight Linux distro. Dvd or gui, and specs as both are retired so, and a minimal resources? Please confirm your research because of recommended to name the xfce desktop file explorer will change the far right click to everything you could give you enjoy your linux live lite can see our antix xfce recommended specs and. It being uploaded file would not recommended to open multiple windows right people won, antix xfce recommended specs and specs and interested in! Based on the Debian stable, MX Linux has topped the distrowatch. Dedoimedo a usb. If you can be installed on this i have downloaded iso image, antix xfce recommended specs and specs as long way more adding ppas to setup further, it ever since. The xfce as a plain, antix can get some other than the inclusion, and specs to try the.
    [Show full text]
  • Automated Performance Testing for Virtualization with Mmtests
    Automated Performance Testing For Virtualization with MMTests Dario Faggioli <[email protected]> Software Engineer - Virtualization Specialist, SUSE GPG: 4B9B 2C3A 3DD5 86BD 163E 738B 1642 7889 A5B8 73EE https://about.me/dario.faggioli https://www.linkedin.com/in/dfaggioli/ https://twitter.com/DarioFaggioli (@DarioFaggioli) Testing / Benchmarking / CI Tools & Suites • OpenQA • Jenkins • Kernel CI • Autotest / Avocado-framework / Avocado-vt • Phoronix Test Suite • Fuego • Linux Test Project • Xen-Project’s OSSTests • … • ... SRSLY THINKING I’ll TALK ABOUT & SUGGEST USING ANOTHER ONE ? REALLY ? Benchmarking on Baremetal What’s the performance impact of kernel code change “X” ? Baremetal Baremetal Kernel Kernel (no X) VS. (with X) CPU MEM CPU MEM bench bench bench bench I/O I/O bench bench Benchmarking in Virtualization What’s the performance impact of kernel code change “X” ? Baremetal Baremetal Baremetal Baremetal Kernel Kernel Kernel (no X) Kernel (no X) (with X) (with X) VM VS. VM VS. VM VS. VM Kernel Kernel Kernel (no X) Kernel (no X) (with X) (with X) CPU MEM CPU MEM CPU MEM CPU MEM bench bench bench bench bench bench bench bench I/O I/O I/O I/O bench bench bench bench Benchmarking in Virtualization What’s the performance impact of kernel code change “X” ? Baremetal Baremetal Baremetal Baremetal Kernel Kernel Kernel (no X) Kernel (no X) (with X) (with X) VM VS. VM VS. VM VS. VM Kernel Kernel Kernel (no X) Kernel (no X) (with X) (with X) We want to run the benchmarks inside VMs CPU MEM CPU MEM CPU MEM CPU MEM bench bench bench bench bench bench bench bench I/O I/O I/O I/O bench bench bench bench Benchmarking in Virtualization What’s the performance impact of kernel code change “X” ? Baremetal Baremetal Baremetal Baremetal Kernel Kernel Kernel (no X) Kernel (no X) (with X) (with X) VM VS.
    [Show full text]
  • Qtile Documentation Release 0.15.1
    Qtile Documentation Release 0.15.1 Aldo Cortesi Apr 14, 2020 Contents 1 Getting started 1 1.1 Installing Qtile..............................................1 1.2 Configuration...............................................5 2 Commands and scripting 25 2.1 Commands API............................................. 25 2.2 Scripting................................................. 28 2.3 qshell................................................... 28 2.4 iqshell.................................................. 30 2.5 qtile-top.................................................. 31 2.6 qtile-run................................................. 31 2.7 qtile-cmd................................................. 31 2.8 dqtile-cmd................................................ 34 3 Getting involved 37 3.1 Contributing............................................... 37 3.2 Hacking on Qtile............................................. 38 4 Miscellaneous 43 4.1 Reference................................................. 43 4.2 Frequently Asked Questions....................................... 107 4.3 License.................................................. 108 Index 109 i ii CHAPTER 1 Getting started 1.1 Installing Qtile 1.1.1 Distro Guides Below are the preferred installation methods for specific distros. If you are running something else, please see In- stalling From Source. Installing on Arch Linux Stable versions of Qtile are currently packaged for Arch Linux. To install this package, run: pacman -S qtile Please see the ArchWiki for more information on
    [Show full text]
  • Milax - Opensolaris Small Livecd Distro Alexander R
    USE IMPROVE EVANGELIZE MilaX - OpenSolaris small LiveCD distro Alexander R. Eremin MilaX Developer USE IMPROVE EVANGELIZE Can Solaris become as small as DSL? Solaris 2 USE IMPROVE EVANGELIZE DSS 0.1 Feb 2008 CDDL v.1 MilaX 0.1, 0.1.1 Feb 2008 MilaX 0.2 Mar 2008 Milax 0.3 May 2008 June 2008 MilaX 0.3.1 MilaX 0.3.1 server 3 USE IMPROVE EVANGELIZE Last version released June 10 2008 4 USE IMPROVE EVANGELIZE MilaX LiveCD, LiveUSB USE IMPROVE EVANGELIZE Virtualizing MilaX LiveCD,LiveUSB Qemu VirtualBox VMware USE IMPROVE EVANGELIZE MilaX advantages ● Small size ● Fast boot ● Loading live image from RAM ● Booting from various storage devices ● People can try small Solaris without installing on the harddisk. ● All Solaris features: dtrace,zfs, zones,e.t.c ● Latest drivers and bugfixes ● Two versions: desktop and server USE IMPROVE EVANGELIZE When MilaX is the best choice? ● Old PC's ● Not enough RAM ● Not enough free disk space ● Fast and small server (0.3.1 server) ● Fast developing (0.3.1 server) ● Virtual testing USE IMPROVE EVANGELIZE MilaX Filesystem Ramdisk 105mb, UFS Root FS /,/lib,/dev,/devices,/var Ramdisk Swap RAM /usr (RAM < 512mb) /usr, /alex, /root, /tmp Ram > 512MB HSFS Filesystem (/usr mount) LOFI Pseudo Device /.cdrom/usr.zlib HSFS Filesystem (/.cdrom mount) MilaX Live CD USE IMPROVE EVANGELIZE Milax 0.3.1 Apps Desktop version ● Gtk-Terminal, Beaver, Netsurf, Sylpheed, Midnight Commander, emelFM, XMMS, Xpdf, VNC viewer, Rdesktop, Nmap, gFTP, gPicview, Conky, XChat, Xpad. Server version ● Apache, PHP, Samba and NFS servers, GCC, GMake, Midnight Commander, Pine, Mutt, Elinks, Lynx.
    [Show full text]
  • Can Libreoffice and Apache Openoffice Be Alternatives to MS-Office from Consumer's Perspective?
    2016 2 nd International Conference on Social, Education and Management Engineering (SEME 2016) ISBN: 978-1-60595-336-6 "Make It Possible" Study: Can LibreOffice and Apache OpenOffice Be Alternatives to MS-Office from Consumer's Perspective? Jun IIO 1,* and Shusaku OHGAMA 2 1Socio-informatics Dept. Faculty of Letters, Chuo University, 742-1 Higashinakano, Hachioji-shi, Tokyo, Japan 2Information Technology Dept. Information Systems Div., Sumitomo Electric Industries, Ltd., 4-5-33 Kitahama, Chuo-ku, Osaka-shi, Osaka, Japan *Corresponding author Keywords: Open-source software, LibreOffice, OpenOffice, Productivity suites. Abstract. There are many guidebooks which offer some instruction of using productivity suites, and most of them focus on Microsoft's Office (MS-Office,) because it is the dominant products in the market. However, we have some other productivity suites, such as LibreOffice and Apache OpenOffice, as the alternative of MS-Office. Therefore, we investigated whether such software could be used properly, within the content of the guidebooks which are widely used. In this paper, the results of our investigation show that the interoperability of such software has already reached a tolerable level from a practical perspective. Introduction Recently, we can find in bookstores many books for reference that provide guidelines on how to operate productivity suites. However, most of them only focus on Microsoft's Office suites (MS-Office,) because it has the largest market share in the world in the productivity software market. On the other hand, there are some other options, such as LibreOffice and Apache OpenOffice. In recent days, persons in businesses face some problems in using these productivity suites.
    [Show full text]