ld2sd: linked data driven software development
DESCRIPTION
LD2SD: Linked Data Driven Software Development. Samad Paydar [email protected] 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 PresentationTRANSCRIPT
![Page 1: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/1.jpg)
Samad [email protected] Research GroupFerdowsi University of Mashhad
LD2SD: Linked Data Driven Software Development
24th February 2010
![Page 2: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/2.jpg)
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
![Page 3: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/3.jpg)
Outline
Introduction LD2SDImplementation Conclusion
3
![Page 4: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/4.jpg)
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….
![Page 5: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/5.jpg)
5
![Page 6: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/6.jpg)
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
![Page 7: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/7.jpg)
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
![Page 8: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/8.jpg)
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
![Page 9: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/9.jpg)
LD2SD
LD2SD is:a light-weight Semantic Web methodology for turning
software artifacts into linked dataThis explicit representation makes new scenarios possible
9
![Page 10: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/10.jpg)
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
![Page 11: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/11.jpg)
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
![Page 12: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/12.jpg)
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
![Page 13: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/13.jpg)
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
![Page 14: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/14.jpg)
14
![Page 15: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/15.jpg)
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
![Page 16: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/16.jpg)
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
![Page 17: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/17.jpg)
LD2SD Implementation
Implementation 3 layers1.Data layer2.Integration layer3.Interaction layer
17
![Page 18: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/18.jpg)
LD2SD Implementation
“Sindice software project” as the reference software project
A list of candidate software artifacts
18
![Page 19: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/19.jpg)
Data layer
RDFication and Interlinking
19
![Page 20: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/20.jpg)
Data layer
20
![Page 21: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/21.jpg)
Data layer
21
![Page 22: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/22.jpg)
Data layer
22
![Page 23: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/23.jpg)
Data layer
23
![Page 24: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/24.jpg)
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
![Page 25: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/25.jpg)
Integration Layer
Integration Layer
25
![Page 26: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/26.jpg)
26
![Page 27: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/27.jpg)
Interaction Layer
Handles the interaction between the integrated data and the end-users such as developers
Semantic Widgets are used
27
![Page 28: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/28.jpg)
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
![Page 29: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/29.jpg)
LD2SD Plug-in
29
![Page 30: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/30.jpg)
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
![Page 31: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/31.jpg)
Evaluation Results
31
![Page 32: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/32.jpg)
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
![Page 33: LD2SD: Linked Data Driven Software Development](https://reader035.vdocument.in/reader035/viewer/2022062309/56813952550346895da0f155/html5/thumbnails/33.jpg)
Future Work
Implement further use casesImprove the interlinking among LD2SD datasets
33