siim karus //courses.cs.ut.ee/mtat.03.265/2012_fall/uploads/main/... · class ="wmi "...

52
Siim Karus http://sep.cs.ut.ee/ Sissejuhatus informaatikasse

Upload: hacong

Post on 05-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Siim Karus

http://sep.cs.ut.ee/

Sissejuhatus informaatikasse

Page 2: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Ärianalüüs (BA)

Protsesside modelleerimine (BPM)

Protsessimudelite analüüs

Mudelite rakendamine

Suurte infosüsteemide optimeerimine

Tarkvaraarendusprotsessi analüüs

Tarkvaraarendusprotsessi optimeerimine

Valdkonnaspetsiifilised keeled (DSL)

Sissejuhatus informaatikasse8.10.2012 2

Page 3: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 3

Siim Karus• Analyzing software project repositories

Peep Küngas• Uncovering data from Web services (Deep Web and Mashups)

Michele Mazzucco• Running Web services with minimal infrastructure

Viara Popova• Automated discovery of business process models

Luciano García-Bañuelos• Analysis of business process models

Raimundas Matulevicius• Security requirements and business process modeling

Marlon Dumas• Nothing and everything, but also business process modeling

Page 4: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• How to reduce redundancy in business processes?Reina Uba

• What makes a business process model useful?Toomas Saarsen

• How to manage zillion variants of the same process?Peyman Milani

• How to manage zillion variants of the same process, automatically?Abel Armas

• How to fix security issues in business processes?Naved Ahmed

• How to develop systems in your own language?Margus Freudenthal

Sissejuhatus informaatikasse8.10.2012 4

Page 5: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 5

Page 6: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 6

Page 7: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 7

Page 8: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 8

Page 9: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• Informaatika doktor

• Microsofti Partnertudeng 2007-2009 (MSP)– http://www.microsoft.com/eesti/msp/

• Vabavaraportaali VabaVaraVeeb üks autoritest– http://vabavara.eu

• Üle 5 aasta kogemust programmeerija, infosüsteemide audiitori, arhitekti ja äriteadmuse lahenduste arendaja rollides

8.10.2012 MTAT.03.230 Veebirakenduste loomine 9

Page 10: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 10

Page 11: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 11

Page 12: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 12

Page 13: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 13

Page 14: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 14

Page 15: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Minu teema

Sissejuhatus informaatikasse8.10.2012 15

Page 16: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Data from http://www.ohloh.net

Total 2010

25%

20%

15%

10%

5%

Sissejuhatus informaatikasse8.10.2012 16

Page 17: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Churn in 2010

25%

20%

15%

10%

5%

Data from http://www.ohloh.net

Sissejuhatus informaatikasse8.10.2012 17

Page 18: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 18

Page 19: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 19

Page 20: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 20

Page 21: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 21

Page 22: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 22

Page 23: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Most Java developers but only every second C/C++ developer work with XML.

Java and XML files (especially those of project specific types) are more likely to be edited by the same person than Java files and project definition files.

A developer works with more than 5 different artefact types (or 4 different languages) in a project on average.

Sissejuhatus informaatikasse8.10.2012 23

Page 24: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

The most commonly co-evolving files are usually of the same type.

Most common co-evolving file types are: Java and XML; C and plaintext files; and C and Makefiles.

JavaScript and CSS files most often co-evolve with XSL.

Sissejuhatus informaatikasse8.10.2012 24

Page 25: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• Project specific XML is the most popular artefact type in OSS projects.

• Project definition XML files are less likely to be changed with Java files than other project specific XML files.

• Developers work with 4 languages on average in a project.

• Developers often use languages from different paradigms together.

Sissejuhatus informaatikasse8.10.2012 25

Page 26: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 26

Page 27: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 27

<?xml version =" 1.0 " encoding =" utf-8 " ?><links >

<!-- Comment --><a

class =" web“href =" http://vabavara.eu " />

<aclass =" web“href =" http://www.ut.ee " />

<!-- Comment --><a

class =" wmi"href =" \\Machine1\root\cimv2 " >WM cimv2 root

</ a><!-- Comment --><a

class =" file "href =" file://D:/Intro.docx " />

</ links >

Page 28: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Content

XHTML

RSS

XAMLPLAINTEXT

PDF

XML

Sissejuhatus informaatikasse8.10.2012 28

Page 29: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Evolution of XML• New information• Obsolete information• Changes in semantics

Maintenance• Updates in relevant

transformations

Sissejuhatus informaatikasse8.10.2012 29

Page 30: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Use existing or common controls.

Use generic services instead of internal components to expose similar aspects.

Compose complex services of individually addressable and “subscribable” services.

Avoid the need for additional metadata to render a document.

Sissejuhatus informaatikasse8.10.2012 30

Page 31: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

0

100

200

300

400

500

VVVFramework

FxCopReport xCBL toRosettaNet

Lin

es

of

Co

de

Guidelines No guidelines

0

50

100

150

200

250

VVV framework FxCopReport xCBL toRosettaNet

Nu

mb

er

of

Ele

me

nts

Guidelines No guidelines

Sissejuhatus informaatikasse8.10.2012 31

Page 32: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

stylesheet test templates calls Time (ms) Difference

(ms)

Difference

(%)

xCBL 2

RosettaNet

Original 2 60k 204590guidelined 2 60k 210602 6012 2,9%

FxCopReportoriginal 12 2450k 8051419

guidelined 13 2450k 7830934 -220485 -2,7%

Sissejuhatus informaatikasse8.10.2012 32

Page 33: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• By making– use of common controls

– use of generic transformations

– transformations individually addressable and subscribable

– use of metadata in source documents

• We got transformations that– Are slightly (4-6% LOC or 4-13% elements) smaller

– Resulted in about 40% less code churn per new component

– Have no performance penalty (results showed ±3% difference)

Sissejuhatus informaatikasse8.10.2012 33

Page 34: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• http://sandstorm.cs.ut.ee/XMLStyleHelper/

Sissejuhatus informaatikasse8.10.2012 34

Page 35: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• Limits visualisations

• Currently relies on binary Add-On to IDE-s

• Offers sufficient flexibility for analysis and transformation plug-ins

• Offers additional flexibility

• Allows use of complex algorithms in plug-ins

Sissejuhatus informaatikasse8.10.2012 35

Page 36: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 36

Page 37: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Confidence Best Model Error

0.70 DT all 300 LOC

0.80 DT org_xsl 600 LOC

0.90 DT org_xsl 1 400 LOC

0.95 DT org_xsl 3 400 LOC

0.99 DT org 17 200 LOC

0.999 DT org 83 000 LOC

Sissejuhatus informaatikasse8.10.2012 37

Page 38: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Sissejuhatus informaatikasse8.10.2012 38

Page 39: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• Complex expressions should be used instead of simple expressions.

• Templates with ‘‘match’’ expressions (and if needed, ‘‘mode’’ attribute) should be preferred over <choose> and <when> constructs.

• Reoccurring constants should be stored as parameters or variables and used through these if possible.

• Parameter definitions should be kept short (less than 6 lines of code).

• XSLT code should be commented. At least 9% of nodes being comments was identified a preferred ratio as it reduced high churn probability to a mere 5%.

Sissejuhatus informaatikasse8.10.2012 39

Page 40: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Developers on

project

AddedLOC = 113,977.97 + 85,054.91*XSLDevs - 54,743.68*Devs - 51.91*DevCommits +

207.80*DevXSLCommits<7

AddedLOC = 344,360.99 + 33.61*DevCommits + 19,455.01*XSLDevs - 59.85*DevXSLCommits>=7

Tei

Esb

Number of

Files

ModifiedLOC = -6,544.84 + 13,051.50*XSLDevs + 84.33*DevXSLCommits - 23.19*DevCommits

RemovedLOC = -25,593.46 - 62.593*DevCommits + 215.908*DevXSLCommits + 22,566.098*Devs<1375

ModifiedLOC = 288,171.14 - 9.27*DevXSLCommits - 16,745.76*XSLDevs + 5.01*DevCommits

RemovedLOC = 519,713.17 - 22,758.19*XSLDevs + 19.80*DevCommits - 36.62*DevXSLCommits>=1375

Number of

Revisions

AddedLOC = 164,655.30 - 5,261.02*XSLDevs - 6,184.24*Devs-22.58*DevXSLCommits<536

AddedLOC = 233,806.57 - 18,959.22*Devs>=536

Number of

Files

ModifiedLOC = 36,292.86 - 1,050.43*Devs - 1,066.477*XSLDevs

RemovedLOC = 44,412.10 - 1,446.73*XSLDevs - 1,225.72*Devs<372

ModifiedLOC = 39,334.99 - 2,731.44*Devs

RemovedLOC = 40,510.39 - 2,531.85*Devs>=372

Sissejuhatus informaatikasse8.10.2012 40

Page 41: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

http://sep.cs.ut.ee/

Sissejuhatus informaatikasse8.10.2012 41

Page 42: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

Lightning-fast multi-level SOAP-JSON caching proxy(Peep Küngas)

Complex Event Processing for OpenAjax Hub 2.0 Widgets (Peep Küngas)

A crawler for RESTful, SOAP services and Web forms(Peep Küngas)

Plug-ins as Services (Siim Karus)

Sissejuhatus informaatikasse8.10.2012 42

Page 43: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 43

Page 44: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 44

http://www.youtube.com/watch?v=F7pYHN9iC9I

Page 45: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 MTAT.03.230 Veebirakenduste loomine 45

Page 46: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 MTAT.03.230 Veebirakenduste loomine 46

http://www.youtube.com/watch?v=mraK-zRfWL0

Page 47: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 MTAT.03.230 Veebirakenduste loomine 47http://www.youtube.com/watch?v=zM6HPeCgGSo

Page 48: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

• http://www.youtube.com/watch?v=VShmtsLhkQg

8.10.2012 MTAT.03.230 Veebirakenduste loomine 48

Page 49: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 49

Page 50: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 50

Page 51: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 MTAT.03.230 Veebirakenduste loomine 51

http://blueskygis.blogspot.com/2011/09/paranoid-ziggy.html

Page 52: Siim Karus //courses.cs.ut.ee/MTAT.03.265/2012_fall/uploads/Main/... · class ="wmi " href ="\\Machine1 ... Confidence Best Model Error 0.70 DT all 300 LOC ... • Reoccurring constants

8.10.2012 Sissejuhatus informaatikasse 52

http://day.cs.ut.ee/et/avaleht