PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
Accel Computerized Maintenance Management System.
26/10/2008 SWESE'08 1 Enhanced Semantic Access to Software Artefacts Danica Damljanović and Kalina Bontcheva.
Search in Source Code Based on Identifying Popular Fragments Eduard Kuric and Mária Bieliková Faculty of Informatics and Information.
SOFTWARE PRESENTATION ODMS (OPEN SOURCE DOCUMENT MANAGEMENT SYSTEM)
Using the Semantic Web to Construct an Ontology- Based Repository for Software Patterns Scott Henninger Computer Science and Engineering University of.
GENERATING AUTOMATIC SEMANTIC ANNOTATIONS FOR RESEARCH DATASETS AYUSH SINGHAL AND JAIDEEP SRIVASTAVA CS DEPT., UNIVERSITY OF MINNESOTA, MN, USA.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Information Retrieval in Practice
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Shared Ontology for Knowledge Management Atanas Kiryakov, Borislav Popov, Ilian Kitchukov, and Krasimir Angelov Meher Shaikh.
Enterprise Search With SharePoint Portal Server V2 Steve Tullis, Program Manager, Business Portal Group 3/5/2003.
CM143 - Web Week 2 Basic HTML. Links and Image Tags.
1 Discovering Unexpected Information from Your Competitor’s Web Sites Bing Liu, Yiming Ma, Philip S. Yu Héctor A. Villa Martínez.
Developing a Basic Web Page Posting Files on UMBC
Overview of Search Engines
Development of mobile applications using PhoneGap and HTML 5
Editing Description Logic Ontologies with the Protege OWL Plugin.
IBM User Technology March 2004 | Dynamic Navigation in DITA © 2004 IBM Corporation Dynamic Navigation in DITA Erik Hennum and Robert Anderson.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
PAUL ALEXANDRU CHIRITA STEFANIA COSTACHE SIEGFRIED HANDSCHUH WOLFGANG NEJDL 1* L3S RESEARCH CENTER 2* NATIONAL UNIVERSITY OF IRELAND PROCEEDINGS OF THE.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 5-1 Chapter 5 Business Intelligence: Data.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
The Data Ring: Community Content Sharing Serge Abiteboul (INRIA) Alkis Polyzotis (UC Santa Cruz)
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Data Tagging Architecture for System Monitoring in Dynamic Environments Bharat Krishnamurthy, Anindya Neogi, Bikram Sengupta, Raghavendra Singh (IBM Research.
Introducing HingX now with Capacity Development Network.
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
Department of computer science and engineering Two Layer Mapping from Database to RDF Martin Švihla Research Group Webing Department.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
Service Service metadata what Service is who responsible for service constraints service creation service maintenance service deployment rules rules processing.
Gordana Rakić, Zoran Budimac
Semantic web Bootstrapping & Annotation Hassan Sayyadi Semantic web research laboratory Computer department Sharif university of.
Natural Language Interfaces to Ontologies Danica Damljanović
Headings are defined with the to tags. defines the largest heading. defines the smallest heading. Note: Browsers automatically add an empty line before.
1 Open Ontology Repository initiative - Planning Meeting - Thu Co-conveners: PeterYim, LeoObrst & MikeDean ref.:
DANIELA KOLAROVA INSTITUTE OF INFORMATION TECHNOLOGIES, BAS Multimedia Semantics and the Semantic Web.
INTRODUCTION JavaScript can make websites more interactive, interesting, and user-friendly.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
GoRelations: an Intuitive Query System for DBPedia Lushan Han and Tim Finin 15 November 2011
5/29/2001Y. D. Wu & M. Liu1 Content Management for Digital Library May 29, 2001.
International Planetary Data Alliance Registry Project Update September 16, 2011.
Project 1 Introduction to HTML.
Based on Menu Information
AMGA Web Interface Salvatore Scifo INFN sez. Catania
Java programming lecture one
N. Capp, E. Krome, I. Obeid and J. Picone
Introduction to Programming the WWW I
AMGA Web Interface Vincenzo Milazzo
Magnet & /facet Zheng Liang
JavaScript CS 4640 Programming Languages for Web Applications
Tutorial 10: Programming with javascript
MAPO: Mining and Recommending API Usage Patterns
JavaScript CS 4640 Programming Languages for Web Applications
Presentation transcript:

PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.

Motivation Discovering problems in software development process Source code metrics [Kothapalli, C., et al. 11] Monitoring developers’ activities [Fritz, T., et al. 07] Source code visualization [Bohnet, J., D ӧ llner, J. 11] Combination of multiple approaches Sharing partial results/metrics about software and developers Different languages and IDEs 2/22

PerConIK (perconik.fiit.stuba.sk) Personalized Conveying Information and Knowledge Dynamic data space of a software house Source code files Project documentations User activity logs Descriptive metadata: Information Tags Shared space of descriptive information Decrease redundancy of data processing Support inference over preprocessed information 3/22

Information Tags Descriptive metadata with a semantic relation to a tagged content, defined by: Type – defines a type and a meaning of the information tag; Anchoring – identifies a tagged information artefact (resource); Body – represents a structured information, a structure of which corresponds to the type of the information tag. 4/22

1: int counter = 0; 2: for (int i=0; i<10; i--) 3: { 4: counter++; 5: } Example Type: Bug Anchor: Ln 2 Body: Cyclic Loop Type: Edited by Anchor: Ln 2 Col Body: John; Peter 5/22

Data Layers 6/22

Data Processing 7/22

End User Services 8/22

Documents Types Source code files Web pages (Q&A sites, community forums, …) Documentations (specifications, API, tutorials, …) Document models Abstract syntax trees Nodes are mapped across versions 9/22

Activity Logs IDE: copy/paste/open/edit/find/check in … Browser: visit/search/find/copy/tabs … OS: running applications/office tools … 10/22

Tagging: Manual Structured commentaries Written directly in source code by developers Developers are not disturbed from writing source codes Supported by IDE plugins 11/22

Tagging: Automatic Rule-based tagger – processes events as stream of RDF graphs Rule: CSPARQL Query + Tagging action Activity Logs AST RCS Stream Generator Stream Processor Info. Tags Rules Rules Processor CSPARQL Queries Actions 12/22

Case Study: PerConIK Software House (1 year) Developers: 6 Source Codes: 6,517 (in 17,330 versions) Activity logs: 769,080 Information Tags: 431,160 University: Team Project (1 semester) Developers: 40 Source Codes: 6,791 (in 12,724 versions) Activity logs: 886,465 Information Tags: 155,868 13/22

Information Tags Repository [WISM12] Based on MongoDB Fast data access Horizontally scalable Information tag model Based on W3C Open Annotation Model Free form model SPARQL endpoint Query processing based on MapReduce 14/22

Information Tags Maintenance Maintenance tasks Generating missing information tags Repairing affected information tags Removing invalid information tags Maintained information Body – tagging services; add/modify/remove rules Anchoring – robust location descriptor [DEXA13] 15/22

Example 1: int counter = 0; 2: for (int i=0; i<10; i--) 3: { 4: counter++; 5: } Type: Bug Anchor: Ln 2 Body: Cyclic Loop 16/22

Example 1: int counter = 0; 2: int i=0; 3: for (i=0; i<10; i--) 4: { 5: counter++; 6: } Type: Bug Anchor: Ln 2 Body: Cyclic Loop ? 17/22

Robust Location Descriptor [DEXA13] Source code – sequence of comparable textual elements Index-based location descriptor Indexes of the first and the last letter Simple, fast, straight position comparison Error-prone Context-based location descriptor Tagged text, context after and before Robust, adds context to information tag Time and memory complexity 18/22

Location Descriptor: Example Indexes: 22, 27 Context before: in Set ) Tagged text: x. Add Context after: ( 45 ) foreach (var x in Set) x.Add(45); foreach ( var x in Set ) x. Add ( 45 ) ; 19/22

Developers’ Karma Measure of programmers’ experiences Calculated from information tags anchored to source code written by a programmer Interaction with source code (copy/pase, degree of written and committed lines of code) Component complexity (LLOC, Cyclomatic complexity, …) Used technologies 20/22

Search in Source Code [SOFSEM2013] Based on developers’ karma and source code concepts (bags of keywords describing source code artifacts) 1. Query is reformulated to bag of words 2. Find information tags with concepts similar to the query and mark tagged artifacts as results 3. Load information tags with karmas of results’ authors 4. Order results by concepts similarity to query and developers’ karmas 21/22

Conclusions and Future Work Environment for development monitoring Information tags Describe resources in an information space Enhance information processing Software metrics based on developers’ activity Future work Deployment on larger projects of the software house Evaluation (qualitative – eye tracking, interviews; quantitative – manually annotated source code) Additional supporting services, metrics, … 22/22