Call Graph Navigation Helps Increasing Code Maintenance Efficiency

Total Page:16

File Type:pdf, Size:1020Kb

Call Graph Navigation Helps Increasing Code Maintenance Efficiency Stacksplorer: Call Graph Navigation Helps Increasing Code Maintenance Efficiency Thorsten Karrery Jan-Peter Kramer¨ y Jonathan Diehly Bjorn¨ Hartmannz Jan Borchersy yRWTH Aachen University zComputer Science Division 52062 Aachen, Germany University of California fkarrer, kraemer, diehl, borchersg Berkeley, CA 94720 @cs.rwth-aachen.de [email protected] ABSTRACT We present Stacksplorer, a new tool to support source code navigation and comprehension. Stacksplorer computes the call graph of a given piece of code, visualizes relevant parts of it, and allows developers to interactively traverse it. This augments the traditional code editor by offering an additional layer of navigation. Stacksplorer is particularly useful to un- derstand and edit unknown source code because branches of the call graph can be explored and backtracked easily. Visu- alizing the callers of a method reduces the risk of introducing unintended side effects. In a quantitative study, programmers using Stacksplorer performed three of four software mainte- nance tasks significantly faster and with higher success rates, Figure 1: Stacksplorer visualizes and allows browsing and Stacksplorer received a System Usability Scale rating of the call graph of an application’s source code. For 85.4 from participants. the current focus method, it shows callers in the left column and methods called in the right. ACM Classification: H5.2 [Information interfaces and pre- sentation]: User Interfaces. - Graphical user interfaces. ing through the code [20]. Navigating source code includes General terms: Design, Human Factors file-based navigation, such as switching between classes that Keywords: Development Tools / Toolkits / Programming are usually implemented in separate files, and navigating the Environments, Visualization. semantics of the code, e.g., locating a variable definition or exploring the callers and callees of a certain method. Navi- INTRODUCTION gating the call graph has been shown to be particularly im- A large part of a software developer’s work is maintaining portant to understand code, to find out where to modify it, existing code bases. This includes adding new features, fix- and to assess the scope and side effects of any changes [13]. ing bugs, and refactoring code after the software has been We present Stacksplorer, a plug-in that modifies the user in- shipped. Maintenance has been shown to make up as much as 1 70% of the total expenses of a software project [19]. Because terface of the Xcode integrated development environment of this, analyzing and improving how programmers maintain (IDE) to visualize and navigate the neighborhood of any code has recently become an active area of research. given method in the call graph (Fig. 1). Stacksplorer lets de- velopers see and access the callers “upstream” of a method, Maintenance often comprises reading and understanding an reducing the risk of introducing unintended side effects. They unfamiliar piece of source code and identifying problem- can also navigate downstream to understand how operations atic sections. The developer then has to modify these sec- are implemented in an unknown piece of code. The call tions while being aware of potential side effects [15]. To do graph visualization helps developers retain the context of a this, the developer spends a large part of his time navigat- method and simplifies exploring and backtracking along in- teresting branches of the call graph. In a controlled experiment, developers solved code mainte- nance tasks using Xcode with and without Stacksplorer. Our results show that Stacksplorer helps developers to solve more tasks correctly in less time, with a heightened awareness of possible side effects. 1http://developer.apple.com/technologies/tools/xcode.html RELATED WORK may, after execution stopped, be queried “Why did this line’s Navigation Behavior color = blue”. Using a trace of the actual program execution, Today, most IDEs offer only limited tools for call graph re- the Whyline computes a dynamic slice, i.e., it determines lated code navigation. Moreover, these tools are often diffi- which method executions influenced the relevant property. cult to find and invoke. By observing programmers working Novice programmers using the Whyline could solve a bug with Eclipse on five change tasks in a 500SLOC2 Java appli- fixing task significantly faster than expert developers with- cation, Ko et al. [11] found that about a quarter of the devel- out the Whyline. Stacksplorer is, in contrast to the Whyline, opers’ time was spent navigating, either by following depen- not a debugging but a navigation tool; it does not allow users dencies or by searching for names. Between code segments to formulate an explicit question about a trace from a single related through structural relationships, users navigated us- execution but facilitates exploration of the call graph during ing scroll bars and the package browser (14% of the test code editing. period) or using the find and replace tool, although more suitable and effective tools are available in Eclipse (see also LaToza and Myers [14] scope searches in source code by re- [18]). To perform comparisons, developers navigated back stricting them to branches of the call graph originating in or and forth between code segments because by default, Eclipse leading to a certain method. The search results are visualized uses a single editing window. in a graph, revealing the paths leading from the starting point Lawrance and Burnett [16] presented PFIS (Programmer Flow of the search to each result. Unlike Stacksplorer, this visual- by Information Scent), a model based on information forag- ization is a feature of the search tool and not integrated with ing theory to predict a programmer’s navigation. In informa- the source code editor as a means for navigation. tion foraging theory, each link between two pieces of infor- mation has a certain scent that determines how likely a user Commercial IDEs such as Visual Studio, Eclipse, or Xcode will follow this link on her search for relevant information. offer various tools for exploring the call graph. Eclipse, for In PFIS, a link is defined as any navigation possible with example, is able to show multiple levels of callers and callees one click; scent is determined by comparing words used in of a method in a tree view; Visual Studio offers similar func- the source code with those used in a bug report, which ver- tionality. These tools can be used for navigation, but they do bally describes the users task. In an experiment, PFIS was not update automatically when the user navigates through the capable of predicting the navigation behavior of professional source code, and they are not part of, or visually connected software developers in a bug fixing task. to, the code editor. For navigation inside the source code ed- itor, most IDEs provide functionality to directly jump to the Recommender Systems definition of a method from where it is called, and some sup- Recommender systems for software development aim at de- port jumping to callers; these tools, however, lack a perma- termining automatically which information is relevant to the nent visualization that could provide additional information developer’s current task. Most systems first calculate a ‘de- scent and help the user stay oriented. gree of interest’ depending on the source file that is being edited, for all files in the project. They then recommend files with a degree of interest exceeding a threshold. Recom- Code Layout mender systems may take into account: a programmer’s nav- igation history [23]; the navigation history of all program- Other tools focus solely on laying out relevant source code mers in the same code [6]; the history of editing activities in elements visually in order to help developers navigating and addition to navigation [10]; and non-code resources such as keeping track of source code. DeLine et al. [5] use the graph- version control systems [24]. ically scaled down source code text file as an overview map for navigation. While being too small to be readable, it al- For small tasks, user studies of these tools consistently found lows discerning the structure of the source code, thus sup- that the total effort spent on navigating through a project porting inter- and intra-file navigation. could be reduced significantly, and that users considered au- tomated guidance in software projects helpful, especially In Code Bubbles [2], code is viewed and edited in bubbles, when they were new to the project. For more complex which can be arranged freely on a 2D plane. The bubbles projects, however, the effect recommender tools have may are connected with arrows representing existing relationships be minor compared to task and strategy specific effects [4]. between them. Users can use a number of tools, e.g., “Open In contrast to Stacksplorer, the recommender systems pre- Declaration”, to find exactly the bubbles they need. Code sented reduce the amount of information shown in the IDE, Bubbles is based on single methods as the basic navigational but they do not introduce new ways to visualize the structural unit, thus breaking the prevalent paradigm of regular IDEs, relationships that led to the recommendations. which are based on a class-file dualism. In a qualitative study, Call Graph Utilization programmers solved one of two maintenance tasks signifi- The Whyline [12] allows asking “Why did” or “Why didn’t” cantly faster with Code Bubbles than with Eclipse. The need questions about the textual and graphical output of an appli- for back-and-forth navigation was also reduced significantly. cation. For example, a line drawn in a painting application To combine the benefits of Code Bubbles and traditional IDEs, Stacksplorer offers the familiar file- (or class-)based 2source lines of code (number of non-comment, non-empty lines of source navigation extended by a method-based navigation along the code) call graph. of methods, there exists an edge from A to B if (and only if) Navigating variable access method B is called from the implementation of method A.
Recommended publications
  • What's in Extras
    What’s In Extras 2021/09/20 1 The Extras Folder The Extras folder contains several sub-folders with: • duplicates of several GUI programs installed by the MacTEX installer for those who already have a TEX distribution; • alternates to the GUI applications installed by the MacTEX installer; and • additional software that aE T Xer might find useful. The following sub-sections describe the software contained within them. Table (1), on the next page, contains a complete list of the enclosed software, versions, supported macOS versions, licenses and URLs. Note: for 2020 MacTEX supports High Sierra, Mojave and Catalina although some software also supports earlier versions of macOS. Earlier versions of applications are no longer supplied in the Extras folder but you may find them at the supplied URL. 1.1 Bibliography Bibliography programs for building and maintaining BibTEX databases. 1.2 Browsers A program to browse symbols used with LATEX. 1.3 Editors & Front Ends Alternative Editors, Typesetters and Previewers for TEX. These range from “WYSIWYM (What You See Is What You Mean)” to a Programmer’s Editor with strong LATEX support. 1.4 Equation Editors These allow the user to create beautiful equations, etc., that may be exported for use in other appli- cations; e.g., editors, illustration and presentation software. 1.5 Previewers Separate DVI and PDF previewers for use as external viewers with other editors. 1.6 Scripts Files to integrate some external programmer’s editors with the TEX system. 1.7 Spell Checkers Alternate TEX, LATEX and ConTEXt aware spell checkers. 1.8 Utilities Utilities for managing your MacTEX distribution.
    [Show full text]
  • How to Effortlessly Write a High Quality Scientific Paper in the Field Of
    See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/339630885 How to effortlessly write a high quality scientific paper in the field of computational engineering and sciences Preprint · March 2020 DOI: 10.13140/RG.2.2.13467.62241 CITATIONS READS 0 7,560 3 authors: Vinh Phu Nguyen Stéphane Pierre Alain Bordas Monash University (Australia) University of Luxembourg 114 PUBLICATIONS 3,710 CITATIONS 376 PUBLICATIONS 12,311 CITATIONS SEE PROFILE SEE PROFILE Alban de Vaucorbeil Deakin University 24 PUBLICATIONS 338 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: Computational modelling of crack propagation in solids View project Isogeometric analysis View project All content following this page was uploaded by Vinh Phu Nguyen on 03 March 2020. The user has requested enhancement of the downloaded file. How to effortlessly write a high quality scientific paper in the field of computational engineering and sciences a, b c Vinh Phu Nguyen , Stephane Bordas , Alban de Vaucorbeil aDepartment of Civil Engineering, Monash University, Clayton 3800, VIC, Australia bInstitute of Computational Engineering, University of Luxembourg, Faculty of Sciences Communication and Technology, Luxembourg cInstitute for Frontier Materials, Deakin University, Geelong, VIC, 3216, Australia Abstract Starting with a working good research idea, this paper outlines a scientific writing process that helps us to have a nearly complete paper when the last analysis task is finished. The key ideas of this process are: (1) writing should start early in the research project, (2) research and writing are carried out simultaneously, (3) best tools for writing should be used.
    [Show full text]
  • Literaturverwaltung Für Latex-Neulinge
    Universitatsbibliothek¨ Technische Universitat¨ Munchen¨ Literaturverwaltung fur¨ LATEX-Neulinge Dieses Werk ist lizenziert unter einer Creative Commons “Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International” Lizenz. Universitatsbibliothek¨ Technische Universitat¨ Munchen¨ Impressum Verantwortlich fur¨ dieses Informationsangebot: Dorothea Lemke und Katja Tietze Technische Universitat¨ Munchen¨ Universitatsbibliothek¨ Arcicsstraße 21 80333 Munchen¨ E-Mail: [email protected] Tel.: 089-289-28644 Universitatsbibliothek¨ Technische Universitat¨ Munchen¨ Inhaltsverzeichnis 1 F ¨urwen ist dieses Dokument gedacht?4 2 LATEXund Literaturverwaltung – das Grundprinzip5 3 Literaturangaben in der Datenbank pflegen9 4 Mit BibTeX zitieren 15 5 Mit biblatex zitieren 19 6 Die Qual der Wahl: BibTeX oder biblatex? 25 7 Tipps zum Einstieg 31 8 Was bringt mir ein Literaturverwaltungsprogramm? 32 9 Welches Literaturverwaltungsprogramm ist das richtige f ¨urmich? 36 Universitatsbibliothek¨ Technische Universitat¨ Munchen¨ 1 F ¨urwen ist dieses Dokument gedacht? Dieses Dokument bietet eine grundsatzliche¨ Einfuhrung¨ in den Umgang mit Literaturnachweisen in LATEX, wobei elementare LATEX-Kenntnisse vorausgesetzt werden. Der Schwerpunkt liegt auf dem Vergleich zwi- schen dem Urgestein BibTeX in Kombination mit natbib-Zitierbefehlen und der Neuimplementierung biber mit biblatex-Zitierbefehlen. Außerdem werden verschiedene Literaturverwaltungsprogramme und deren Nutzen fur¨ den Anwender vorgestellt. Die Hinweise und die Beispiele beschranken¨
    [Show full text]
  • Latex Handbook
    LATEX workshop: handbook Vivienne Rogers University of Oxford [email protected] Wednesday 3 February 2010 1 Contents 1 Introduction 3 1.1 Installing LATEX on your computer . 3 1.1.1 PC/Linux instructions . 3 1.1.2 Mac instructions . 3 1.2 File management . 4 1.3 Special Characters . 4 2 Document structure 4 2.1 Preamble . 5 2.2 Structuring the content . 5 2.3 Large documents . 6 2.3.1 Making a master or skeleton file . 6 3 Exercises: Section A 7 3.1 Exercise 1 . 7 3.2 Exercise 2 . 7 3.3 Exercise 3 . 7 3.4 Exercise 4 . 8 4 Tables, lists, glosses & pictures 9 4.1 Tables . 9 4.1.1 Tables: Tabular environment . 9 4.1.2 Tables: the Table environment . 9 4.2 Lists . 10 4.2.1 Lists: description . 10 4.2.2 Lists: itemize . 11 4.2.3 Lists: enumerate . 11 4.3 Numbered examples and glosses . 11 4.4 Inserting pictures . 12 5 Citation and bibliography management 13 5.1 Managing a bibliography: Bibtex . 13 5.2 Citations . 13 5.3 Citation commands . 14 6 Further help 14 7 Exercises: Section B 15 7.1 Exercise 5: Tables . 15 7.2 Exercise 6: Lists . 15 7.3 Exercise 7: Adding diagrams . 15 7.4 Exercise 8: Adding citations . 16 2 1 Introduction LATEX is a typesetting program that encourages the separation of content and layout. It allows you to have complete control over how your document will appear but when writing you focus on the content and structure.
    [Show full text]
  • Reference Management Software (Rms) in an Academic Environment: a Survey at a Research University in Malaysia
    Journal of Theoretical and Applied Information Technology 10 th June 2016. Vol.88. No.1 © 2005 - 2016 JATIT & LLS. All rights reserved . ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195 REFERENCE MANAGEMENT SOFTWARE (RMS) IN AN ACADEMIC ENVIRONMENT: A SURVEY AT A RESEARCH UNIVERSITY IN MALAYSIA 1MOHAMMAD OSMANI, 2ROZAN MZA, 3BAKHTYAR ALI AHMAD, 4ARI SABIR ARIF 1 Department of Management, Mahabad Branch, Islamic Azad University, Mahabad, Iran 2 Faculty of Computing, Universiti Teknologi Malaysia (UTM), Johor, Malaysia 3 Faculty of Geo Information and Real Estate, Universiti Teknologi Malaysia (UTM), Johor, Malaysia 4 Faculty of Physical and Basic Education, University of Sulaimani (UOS), Sulaimani, Iraq E-mail: [email protected], [email protected] , [email protected], [email protected] ABSTRACT Reference Management Software is used by researchers in academics to manage the bibliographic citations they encounter in their research. With these tools, scholars keep track of the scientific literature they read, and to facilitate the editing of the scientific papers they write. This study presents the results of a quantitative survey performed at a research university in Malaysia. The aims of the survey were to observe how much these softwares are used by the scientific community, to see which softwares are most known and used, and to find out the reasons and the approaches behind their usage. Manually questionnaire was distributed to the Master and PhD students at all faculties in Jun 2014. The data collected were analysed through a constant comparative analysis, and the following categories were drawn: a basic practical approach to the instrument, the heavy impact of the time factor, the force of habit in scholars, economic issues, the importance of training and literacy, and the role that the library can have in this stage.
    [Show full text]
  • 1.5 News 12 MH Colin
    NEWS NATURE|Vol 453|1 May 2008 ZOO NEWS Colossal effort Zoologists at the Museum of New Zealand in Wellington have embarked on perhaps their biggest and most delicate feat of engineering so far. They have started the lengthy process of Programs promise to end thawing out the most complete specimen of colossal squid (Mesonychoteuthis hamiltoni). The 10-metre, half-tonne PDF paper-chase creature was caught and frozen last year. Researchers are buzzing about a new type of of Suzuka National College of Technology in software that allows them to manage their Japan. The second version of the software, ON THE RECORD research paper downloads from online jour- released in 2006, has been downloaded more Gravity’s not really nals much more effectively. than 13,000 times. my“ friend right now. One of the most popular programs is Papers, “It definitely speeds things up,” says bio- ” a commercial offering released last year with a chemist Jocelyn Côté of the University of Peggy Whitson, an astronaut on similar interface to iTunes, Apple’s successful Ottawa in Ontario, Canada. Côté says that he the Soyuz capsule that came near disaster last week, reflects on the music-file organizer. Papers and similar pro- struggled to invent a consistently useful file- unpleasantness of pulling 8.2 G grams are able to read a file’s ‘metadata’ so that a naming algorithm for his hard disk’s burgeon- during the craft’s botched re-entry. batch of PDF (portable document format) files ing paper collection. Although his PDF library can be sorted by, for example, author, journal has grown from 500 papers to roughly 3,000, You would have name or year.
    [Show full text]
  • LATEX for Luddites (An Ancient Philosopher’S Guide) Installation & Setup Instructions
    LATEX for Luddites (An Ancient Philosopher’s Guide) Installation & Setup Instructions Willie Costello 1 Install the most recent TeXLive distribution • To work in LATEX, you need to have certain (free!) soware installed on your computer, what’s called the “TeXLive distribution”. e easiest way to make sure you have this is simply to download the most recent distribution. • If using a Mac, this can be downloaded by going to tug.org/mactex/ and downloading the MacTeX.pkg file. (It’s a big file (approximately 2 GB), so give yourself some time and a good internet connection to do it.) • Once this file downloads, open it and follow the installation instructions. • (If using a Windows or Unix-based computer, search the internet for where to download the appropriate TeXLive distribution and follow the installation instructions there.) 2 Install TeXShop • Any text editor (even NotePad or TextEdit) is good enough to work on LATEX documents. However, things are made much much simpler if you write your documents using a LATEX text editor, which will highlight key elements of your code and easily compile your docu- ment for you, right from its interface. • If using a Mac, I recommend you install TeXShop, which can be downloaded for free from their website here: pages.uoregon.edu/koch/texshop/obtaining.html. (e rest of this guide will proceed assuming that you are working with TeXShop.) 3 Compile a simple LATEX document • Once you have TeXShop and the TeXLive distribution installed, open TeXShop and choose to open a file. • Locate the folder containing this document (the LATEX for Luddites package you downloaded from my website), open the subfolder named “1 – Simple LaTeX document”, and open the file named “simplelatex.tex” contained therein.
    [Show full text]
  • About Texshop
    About TeXShop Richard Koch September 3, 2006 Contents 1 Basic Help 4 1.1 Preliminaries . 4 1.2 Getting and Installing teTeX . 4 1.3 Getting and Installing TeXShop . 6 1.4 Typesetting Documents . 7 1.5 Alternate Typesetting Mode . 9 1.6 Checking Spelling . 10 1.7 Latex Panel . 11 1.8 Matrix Panel . 11 1.9 Macros . 12 1.10 Toolbar and Applescript . 12 1.11 Including Graphics . 13 1.12 Printing . 14 1.13 Setting Preferences . 14 1.14 Modifying the Templates Menu . 16 1.15 Editing Tricks . 17 1.16 Auto Completion . 19 1.17 Command Completion . 19 1.18 Sending Bug Reports . 20 1.19 Useful Web Sites . 20 1.20 License . 21 2 Advanced Help 22 2.1 Adding Personal Sty and Macro Files to teTeX . 22 1 2.2 Additional Typesetting Engines . 23 2.3 Removing AUX Files . 26 2.4 Using an External Editor . 27 2.5 Copy-Paste and Drag-Drop from the Preview Window . 29 2.6 Setting a Project Root File . 29 2.7 Pdfsync . 31 2.8 Unicode . 34 2.9 BibTeX . 35 2.10 MakeIndex . 37 2.11 Making and Using New TeX Formats . 37 2.11.1 Using formats . 37 2.11.2 Making formats . 39 2.12 Opening Other Files with TeXShop . 40 2.13 Mathematica . 40 2.14 Localizations . 41 2.15 Syntax Colors . 41 2.16 Shell Escape Protection . 42 2.17 Colored Text in TeX . 43 2.18 More About teTeX . 44 2.19 Coexisting with Fink . 45 2.20 Coexisting with Other TeX Distributions .
    [Show full text]
  • Citations and Citation Managers
    Citations and Citation Managers Sean C. Anderson SFU Grad Caucus Publishing Workshop, April 2014 When to cite Opinions vary widely on when, where, and how often to cite and it’s partly an art. With that in mind: Cite a paper when first introducing a concept. If you keep writing about a concept then you probably won’t cite the same paper every time. If you keep writing about a referenced topic in a paragraph, one approach is to cite at the beginning and end of the paragraph. Be weary of over-citing. Don’t use your citations as crutches. You should be weaving a narrative around your citations, not leaving a literature dump for your reader. Interpret your citations, critically evaluate your citations, and show how they fit into your story. Use citations to acknowledge others’ work, aid the reader to investigate more, and convince the reader you know what you’re talking about. But in the end, remember the paper is about your science, your writing, and your thoughts. So don’t cite to show off and don’t cite to hide. Read papers by particularly good writers in your field and think about when, where, and how frequently they cite. Think about what citation styles help you as a reader and which ones hinder. Cite as specifically as possible. For example: Method X has been used with cats (Johnson 2010), dogs (Smith 2010), and mice (Andrews 2011). 1 But, if this level of specificity is not required, move citations to the end of sentences to make your sentences easier to read.
    [Show full text]
  • Managing Bibliographies with LATEX Lapo F
    36 TUGboat, Volume 30 (2009), No. 1 Multiple citations can be added by separating Bibliographies with a comma the bibliographic keys inside the same \cite command; for example \cite{Goossens1995,Kopka1995} Managing bibliographies with LATEX Lapo F. Mori gives Abstract (Goossens et al., 1995; Kopka and Daly, 1995) The bibliography is a fundamental part of most scien- Bibliographic entries that are not cited in the tific publications. This article presents and analyzes text can be added to the bibliography with the the main tools that LATEX offers to create, manage, \nocite{key} command. The \nocite{*} com- and customize both the references in the text and mand adds all entries to the bibliography. the list of references at the end of the document. 2.2 Automatic creation with BibTEX A 1 Introduction BibTEX is a separate program from LTEX that allows creating a bibliography from an external database Bibliographic references are an important, sometimes (.bib file). These databases can be conveniently fundamental, part of academic documents. In the shared by different LATEX documents. BibTEX, which past, preparation of a bibliography was difficult and will be described in the following paragraphs, has tedious mainly because the entries were numbered many advantages over the thebibliography envi- and ordered by hand. LATEX, which was developed ronment; in particular, automatic formatting and with this kind of document in mind, provides many ordering of the bibliographic entries. tools to automatically manage the bibliography and make the authors’ work easier. How to create a 2.2.1 How BibTEX works A bibliography with LTEX is described in section2, BibTEX requires: starting from the basics and arriving at advanced 1.
    [Show full text]
  • Reference Management a Product Comparison
    Reference Management A Product Comparison | | 1 Exponential growth of scientific publications continues | | 2 Choices from the Bazar JabRef | | 3 Core Task: Collecting Literature . Add entries manually. Single or collections of entries are imported from webpages. Bibliographic metadata, full texts and/or screenshort can be stored. Entries or whole literature collections are to be imported from external sources such as other reference managers. | | 4 Core Task: Manage and Edit References . Organize entries in and move them between collections . Edit bibliographic information . Attach keywords and tags for personalized indexing . Compose and add exzerpts to entries . Read and annotate full texts of entries | | 5 Core Task: Cite Literature Extract bibliographic data from the reference data base and import it in the manuscript being typed up. Two approaches: Word Processing . Import reference in a WYSIWYG environment: Citation in the text as well as the entry in the reference list according to the specifications of the publisher. LaTeX/LyX . BibTeX file,with all cited references in the text – formatting done during compiling process according to specific .bst style file. | | 6 Collaborative Working Maintain a shared reference collection within a group of collaborators: . Collective r+w access to the whole reference collection . Share fulltext documents to collectively work on them (Annotation and assessment of PDF files). Beware of Copyright restrictions on licenced sources! | | 7 Collaborative Working Product Collaboration Options Group size
    [Show full text]
  • Bibliographic Related Software and Standards Information
    Bibliographic Related Software and Standards Information Last Modified A printer friendly PDF version of this page is available 2006-January-9 biblio-sw.pdf (120 Kb) Table of Contents Open Standards Open Standards Information Citproc Bibliophile MODS Z39.50 and SRW Other Links to Bibliographic Software Information Overview of Personal Bibliographic Software Java B3 JabRef Perl, Python Pbib RISImport.py MS Windows Scholars Aid Nota Bene EndNote ProCite Reference Manager Biblioscape Citit! Bibliographix Windows, Linux, Other Bibutils Bibus LaTeX / BibTeX Linux Bookcase BibTeXML BibML BibX ISDN Search YAZ Zoom RefDB Sixpack bp 1 gBib Pybliographer Kaspaliste The Jurabib package refbase MAC OS X BibDesk Open Standards Information Check this web site on Open Standards and software for bibliographies and cataloging. This site provides a quick overview of the landscape of open-source bibliographic software; both where is has been, but more importantly, where it may yet go, and may be better than this page. http://wwwsearch.sourceforge.net/bib/openbib.html A good source on open standards in regards to XML, is the OASIS site http://xml.coverpages.org, and of course www.w3.org - home of the internet. CitProc The Openoffice Bibliographic project is proposing to use Bibliographic citation and table generation via XSLT style-sheets using a new process called CiteProc. CiteProc style-sheets provide, for the first time, the opportunity for the creation and distribution of opensource bibliographic style definitions that are not specific to a particular word-processor or bibliographic package. Also see BiblioX for technical discusion of this approach. We now have working examples. Bibliophile Bibliophile is an initiative to align the development of bibliographic databases for the web.
    [Show full text]