LD2SD: Linked Data Driven Software Development

Post on 04-Jan-2016

40 views 2 download

Tags:

description

LD2SD: Linked Data Driven Software Development. Samad Paydar samad.paydar@stu-mail.um.ac.ir WTLab Research Group Ferdowsi University of Mashhad. 24 th February 2010. All the material put in this slide is gathered from publications of DERI research lab accessible on the web. - PowerPoint PPT Presentation

Transcript of LD2SD: Linked Data Driven Software Development

Samad Paydarsamad.paydar@stu-mail.um.ac.irWTLab Research GroupFerdowsi University of Mashhad

LD2SD: Linked Data Driven Software Development

24th February 2010

All the material put in this slide is gathered from publications of DERI research lab accessible on the web.

Some references:https://dev.deri.ie/confluence/display/romulus/LD2SD+use+

caseshttp://sw-app.org/pub/seke09-ld2sd.pdfhttp://www.ksi.edu/seke/240_Aftab_Iqbal.pdf

2

Outline

Introduction LD2SDImplementation Conclusion

3

Introduction

4

There are different software artifacts involved in software development life cycle

Specifications Test data Source codeBug reportsFeature requests

Discussion forumsVersion controlConfiguration management Emails….

5

Introduction

Therefore, information about a software project are stored in number of heterogeneous, closely related and interdependent datasets

These datasets are logically interconnected, but not physically

Interconnection is implicit, not explicitValuable knowledge is hidden inside these datasets

6

Introduction

A thread in the discussion forum focuses on a special module It leads to a feature requestSeveral emails are communicated between development staffModifications are made on current codeNew Java classes are addedNew unit testsSeveral people might be involved Documentation must be updated Different people are involved

7

Introduction

It is required to make the links between software artifacts and people explicit

Also to link them to data on the Web (e.g. discussion forums)

8

LD2SD

LD2SD is:a light-weight Semantic Web methodology for turning

software artifacts into linked dataThis explicit representation makes new scenarios possible

9

LD2SD

Finding an expertJim is a software project manager. He needs to find a

developer in his team with a special expertise and experience.

E.g. finding a developer with experience in parser development which has been involved in the last year projects and no bug is reported for code he has written

10

LD2SD

Bug tracking issues not fixed in due timeJim wants to know if all the issues due yesterday have been

fixed and which packages are affected.

11

LD2SD

Find developer replacement Jim needs to find a developer to be replaced with Mary. He needs to analyze Mary’s expertise and latest activities:

Assigned bugsCommitted codeMailing list and blog posts

And finally he wants to find a developer whose CV matches Mary’s expertise

12

LD2SD

LD2SD methodology Assign URIs to all entities in software artifacts and convert

to RDF representations based on the linked data principles, yielding LD2SD datasets

Use semantic indexers, e.g. Sindice, to index the LD2SD datasets

Use semantic pipes, e.g. DERI pipes, allowing to integrate, align and filter the LD2SD datasets

Deliver information to end-users integrated in their preferred environments

13

14

LD2SD

LD2SD datasets can be linked to LOD datasets such as Dbpedia and RevyuIt enables the reuse of existing information in the software

development process

15

LD2SD

LD2SD allows us to integrate, view, and filter the dataBut one problem:

Updating the original software artifactsCurrent linked data is read-only A recently launched project pushback aimed at a read/write

Semantic WebWe are confident to adequately address this issue in the near

future

16

LD2SD Implementation

Implementation 3 layers1.Data layer2.Integration layer3.Interaction layer

17

LD2SD Implementation

“Sindice software project” as the reference software project

A list of candidate software artifacts

18

Data layer

RDFication and Interlinking

19

Data layer

20

Data layer

21

Data layer

22

Data layer

23

Integration Layer

DERI pipes are used to build RDF-based mashups. They allow to fetch documents from different sources, merge them and operate on them.

4 steps:1. Fetch the RDF representation of the artifacts using the RDF

Fetch operator2. Merge the datasets using a Simple Mix operator3. Query the resulting, integrated dataset with SPARQL4. Apply XQuery in order to sort and format the dta from the

previous stepThe output of the implemented pipe is then accessible via an URI

24

Integration Layer

Integration Layer

25

26

Interaction Layer

Handles the interaction between the integrated data and the end-users such as developers

Semantic Widgets are used

27

LD2SD Plug-in

A plug-in is implemented for Eclipse IDEEnables developers to find related information about

software artifacts without leaving their development environment

28

LD2SD Plug-in

29

Evaluation

12 participants with 1-5 years development experience Were asked to carry out a set of tasks in two ways:

Manual Approach, and Plug-in ApproachIdentify all blog posts that mention a specific Java classIdentify all bugs that have been fixed by modifying a

specific Java classIdentify all developers that are working on a Java packageIdentify all blog posts that mentions a specific Java classIdentify all bugs that belong to a specific Java package

30

Evaluation Results

31

Conclusion

Introduced linked data approach in software development paradigm

The idea is to make implicit links between software artifacts explicit and expose them using RDF

Provide valuable information to end users by aggregating information from different interconnected software artifacts

32

Future Work

Implement further use casesImprove the interlinking among LD2SD datasets

33