Скачать презентацию Software Engineering Research Development at A U Скачать презентацию Software Engineering Research Development at A U

f646a427078f491ddd77477cdbbfaf8c.ppt

  • Количество слайдов: 51

Software Engineering Research & Development at A. U. Th Ioannis Stamelos Panagiotis Katsaros {stamelos, Software Engineering Research & Development at A. U. Th Ioannis Stamelos Panagiotis Katsaros {stamelos, katsaros}@csd. auth. gr 18 Apr 2006 Sweden

Presentation Outline • Introduction • AUTH / Dept of Informatics • Software Engineering Research Presentation Outline • Introduction • AUTH / Dept of Informatics • Software Engineering Research Group • Software Quality, Management, Education • Open Source Software Engineering / Extreme Programming 18 Apr 2006 Sweden 2

Introduction 18 Apr 2006 Sweden 3 Introduction 18 Apr 2006 Sweden 3

18 Apr 2006 Sweden 4 18 Apr 2006 Sweden 4

City of Thessaloniki • Capital of Macedonia region, northern Greece • ~1 M inhabitants, City of Thessaloniki • Capital of Macedonia region, northern Greece • ~1 M inhabitants, 2 nd greek city, major port of Balkans • 2300 years of continuous history, joined modern Greece in 1912 18 Apr 2006 Sweden 5

18 Apr 2006 Sweden 6 18 Apr 2006 Sweden 6

AUTH / Dept of Informatics 18 Apr 2006 Sweden 7 AUTH / Dept of Informatics 18 Apr 2006 Sweden 7

Aristotle University of Thessaloniki, Greece • First school (Philosophy) established in 1925 • Largest Aristotle University of Thessaloniki, Greece • First school (Philosophy) established in 1925 • Largest Greek University – 45 departments – > 60. 000 students – > 3. 000 staff / teachers • www. auth. gr 18 Apr 2006 Sweden 8

Department of Informatics • School of Physical Science, plans to move to Polytechnic School Department of Informatics • School of Physical Science, plans to move to Polytechnic School • Established in 1993 • 22 academic staff members • ~700 students • www. csd. auth. gr 18 Apr 2006 Sweden 9

4 -years Degree Curriculum • 8 semesters • 5 semesters with obligatory courses • 4 -years Degree Curriculum • 8 semesters • 5 semesters with obligatory courses • 3 semesters with options out of 4 directions: – – Information Systems Digital Media Multimedia / Educational Technologies Networks / Architecture / Communications • Thesis Project 18 Apr 2006 Sweden 10

Master Courses • MSc in Informatics (4 directions) • MSc in Informatics & Management Master Courses • MSc in Informatics (4 directions) • MSc in Informatics & Management (with Dept. of Business Management) Plus • MSc in Medical Informatics 18 Apr 2006 Sweden 11

Five Research Labs • Programming Languages and Software • • Engineering – PLASE Data Five Research Labs • Programming Languages and Software • • Engineering – PLASE Data Technologies and Engineering -DELAB Information Processing and Artificial Intelligence Multimedia (Educational Technologies) Networks, Communications and Architecture 18 Apr 2006 Sweden 12

Programming Languages and Software Engineering – PLASE • 6 staff members • 10 research Programming Languages and Software Engineering – PLASE • 6 staff members • 10 research associates • 20 Ph. D students • Major research areas: – Intelligent Systems – Web Engineering – Software Engineering – Mathematics 18 Apr 2006 Sweden 13

Software Engineering Group (SWENG) • 3 ac. staff members: – – Assistant Professors I. Software Engineering Group (SWENG) • 3 ac. staff members: – – Assistant Professors I. Stamelos, L. Angelis / PLASE P. Katsaros / DELAB • 5 research associates • 10 Ph. D students (joined the group during last 4 years) • http: //sweng. csd. auth. gr 18 Apr 2006 Sweden 14

SWENG: Teaching • Dept. of Informatics / Hellenic Open University (ODL) – – Mathematics, SWENG: Teaching • Dept. of Informatics / Hellenic Open University (ODL) – – Mathematics, Graph Theory Language Theory, Compilers Introduction to Software Engineering Object Oriented Analysis / Java / C++ • Master Courses – Software Project Management – Enterprise Information Systems 18 Apr 2006 Sweden 15

SWENG: R&D Activities • Basic Research • Collaboration with other research teams in Greece SWENG: R&D Activities • Basic Research • Collaboration with other research teams in Greece and in EU: – – – Politecnico di Torino (Prof. Morisio) Univ. LAMSADE / Paris (Prof. Tsoukias) Univ. Juan Carlos / Madrid (Prof. Barahona) • Funded Applied Research & Development – – Greek Public Sector Greek Secretariat for Research and Technology Private Companies EU 18 Apr 2006 Sweden 16

SWENG: Funding • Software industry context: – Public Sector still developing IT infrastructure (e. SWENG: Funding • Software industry context: – Public Sector still developing IT infrastructure (e. g. transportation) – Private Sector companies enhancing IT infrastructure (banks, utilities, privatized public companies) – Most large SW Companies mainly acting as vendors (e. g. of ERP systems) – Various small but aggressive SW companies acting as developers • Funding: limited but growing fast – – – (in last 5 years, while SWENG group was growing) ~0, 7 M euros mostly from development projects participated also to other PLASE projects (MATHIND, Go Net, …) • Now shifting to research projects as well: – obtained ~0, 5 M, expecting another 0, 6 M in years 2006 - 2007 (mainly from EU, GSRT) – see forthcoming research projects at Forthcoming Research Projects slide 18 Apr 2006 Sweden 17

Examples of current / completed projects • Expert System for Software Evaluation • Automated Examples of current / completed projects • Expert System for Software Evaluation • Automated Certification System (with data mining functionality) • Enterprise Knowledge Management System • Specification of various public company information systems (e. g. ticketing) 18 Apr 2006 Sweden 18

SWENG: Major Research Areas • Software Quality – Dependability, Security • Software Cost Estimation SWENG: Major Research Areas • Software Quality – Dependability, Security • Software Cost Estimation • Software Evaluation • Open Source Software • Extreme Programming • Software Education 18 Apr 2006 Sweden 19

Software Quality, Management, Education 18 Apr 2006 Sweden 20 Software Quality, Management, Education 18 Apr 2006 Sweden 20

Software Quality (1) • Problems: – how to quantify and predict / assess SW Software Quality (1) • Problems: – how to quantify and predict / assess SW quality attributes – many SW quality metrics /methods have been proposed but have not been sufficiently validated • Need for – novel, intuitively confirmed measures – empirical evidence for assessing methods, tools, approaches 18 Apr 2006 Sweden 21

Software Quality (2) • Formal experiments – Most powerful empirical investigation tool, producing generic Software Quality (2) • Formal experiments – Most powerful empirical investigation tool, producing generic conclusions • A typical formal experiment setting: – Two groups of subjects are given the same object, differing only in the controlled variable (e. g. design of the same system based on two different design approaches, see next two slides) – Subjects are asked to perform the same task – All other potentially affecting variables are kept constant (e. g. group experience) – The two groups’ performance is monitored accurately and statistical tests are run to detect statistical difference 18 Apr 2006 Sweden 22

18 Apr 2006 Sweden 23 18 Apr 2006 Sweden 23

18 Apr 2006 Sweden 24 18 Apr 2006 Sweden 24

Software Quality (3) • Currently investigating quality assessment based on Heuristics - A Heuristic Software Quality (3) • Currently investigating quality assessment based on Heuristics - A Heuristic is a good practice (e. g. avoidance of ‘God’ classes in OO design, see previous slide) – Developed tools assessing compliance with Riel’s set of objectoriented heuristics (based on C++/Java code, UML class diagrams) • Design of new methods / models for quality prediction – Software Defect Prediction Using Regression via Classification (AICSSA ’ 06) 18 Apr 2006 Sweden 25

Decision tree for defect prediction (for a specific data set) 18 Apr 2006 Sweden Decision tree for defect prediction (for a specific data set) 18 Apr 2006 Sweden 26

Software Cost Estimation • The problem: predict the human effort for developing a system Software Cost Estimation • The problem: predict the human effort for developing a system – Expert judgment – Analogy based method, project is compared with past projects, project cost is proportional to cost of ‘similar’ projects – Algorithmic / ad hoc models, a set of equations are used (e. g. the COCOMO models) • Issues: – – – Wrong, inaccurate, missing past projects data Uncertainty about new project Many categorical values (e. g. type of system, language used) Method accuracy Calibration with local data Method suitability to local situation (e. g. local project data may be not available or projects are not measured accordingly) 18 Apr 2006 Sweden 27

Software Cost Estimation (1) • Interval estimation – A range of values is produced Software Cost Estimation (1) • Interval estimation – A range of values is produced – More realistic approach w. r. t to a point estimate • Interval incorporates model error • Interval accounts for estimation data inaccuracy – May be easily transformed to a point estimate (e. g. take the mean value of the interval) • A number of techniques has been proposed 18 Apr 2006 Sweden 28

Software Cost Estimation (2) • Improvement of Analogy Based Estimation (Bootstrap sampling method) – Software Cost Estimation (2) • Improvement of Analogy Based Estimation (Bootstrap sampling method) – To calibrate method parameters (e. g. number of similar projects used for the estimation) – To produce interval estimates • Project portfolio estimation – Combination of interval estimates from portfolio project members • Categorical, multinomial, ordinal regression – – – Regression models that provide interval estimates Intervals are often predefined by managers Produced more accurate results than previously proposed methods (e. g. OLS) 18 Apr 2006 Sweden 29

BRACE: a tool for advanced estimation by analogy Screenshot of BRACE showing the results BRACE: a tool for advanced estimation by analogy Screenshot of BRACE showing the results of a calibration session 18 Apr 2006 Sweden 30

BRACE: interval estimate generation New project is estimated to demand an effort of 2000 BRACE: interval estimate generation New project is estimated to demand an effort of 2000 -2500 mh (prob. 65, 1%), 2500 -3000 (prob. 23, 1%), etc. 18 Apr 2006 Sweden 31

Software Cost Estimation (3) • How to deal with missing data in your historical Software Cost Estimation (3) • How to deal with missing data in your historical • • • data base? Imputation methods: replace missing values Proposed Multiple Logistic Regression as an imputation method for missing categorical values MLR found to perform better w. r. t. to previously proposed methods 18 Apr 2006 Sweden 32

Software Cost Estimation (4) • Comparative assessment of proposed methods (focusing on AI methods) Software Cost Estimation (4) • Comparative assessment of proposed methods (focusing on AI methods) – Association Rules, BBN, CART – AR are found to be the most accurate / promising approach 18 Apr 2006 Sweden 33

Example Association Rule for Productivity Estimation Association Rule Support Confidence Rule Body 6. 3 Example Association Rule for Productivity Estimation Association Rule Support Confidence Rule Body 6. 3 66. 6 [ACAP_H]+[DATA_N] ==> Rule Head [PROD_4] Interpreted as follows: When the programmers’ analysis capability is high and the database size is nominal then the productivity is likely to be in the fourth category (100

Software process modeling with iterative Bayesian Belief Networks 18 Apr 2006 Sweden 35 Software process modeling with iterative Bayesian Belief Networks 18 Apr 2006 Sweden 35

Software Evaluation • Application of MCDA (Multiple Criteria Decision Aid) on software problem situations Software Evaluation • Application of MCDA (Multiple Criteria Decision Aid) on software problem situations 18 Apr 2006 Sweden 36

Profile evaluation of software artifacts / processes User defines profiles as sets of attribute Profile evaluation of software artifacts / processes User defines profiles as sets of attribute values, then product / process is assessed through the Electre method to decide its profile value 18 Apr 2006 Sweden 37

Software Engineering Education • Investigation of novel approaches in SE education through formal experiments Software Engineering Education • Investigation of novel approaches in SE education through formal experiments – Distance learning of UML (sequence diagrams) – Use of a lesson sheet for teaching Usability 18 Apr 2006 Sweden 38

Open Source Software Engineering / Extreme Programming 18 Apr 2006 Sweden 39 Open Source Software Engineering / Extreme Programming 18 Apr 2006 Sweden 39

Free / Open Source Software (1) • Revolutionary software development • Issues: – What Free / Open Source Software (1) • Revolutionary software development • Issues: – What is the quality of F/OSS products? – How can we assess an F/OSS project? • Is it active? • Is it interesting? – How can we predict an F/OSS project? • How will it grow in terms of code size, number of programmers? 18 Apr 2006 Sweden 40

Free / Open Source Software (2) • F/OSS product quality assessment • F/OSS process Free / Open Source Software (2) • F/OSS product quality assessment • F/OSS process modeling – Dynamic models for predicting F/OSS project behavior • Knowledge sharing and learning in F/OSS 18 Apr 2006 Sweden 41

F/OSS product quality assessment • Case Studies – Measured and assessed 100 LINUX applications: F/OSS product quality assessment • Case Studies – Measured and assessed 100 LINUX applications: applications’ code found to be of at least equality w. r. t. to closed source code – Measured and assessed specific software systems’ quality (e. g. assessed COMPIERE code, an Open Source ERP system, found to be of excellent quality) • Quality assessment horizontal studies – Measured, assessed 5 F/OSS projects and compared with closed source counterparts using Maintainability Index (SEI) – F/OSS systems found to exhibit superior maintainability, however F/OSS maintainability deteriorated in similar way as in closed source 18 Apr 2006 Sweden 42

F/OSS maintainability evolution 18 Apr 2006 Sweden 43 F/OSS maintainability evolution 18 Apr 2006 Sweden 43

F/OSS process modeling • Dynamical F/OSS process model • Based on programmer motivation • F/OSS process modeling • Dynamical F/OSS process model • Based on programmer motivation • Elaborates on programmer tasks (coding, debugging), modules, defects • Calibrated on typical F/OSS projects (e. g. Apache, Gnome) • Predicting curves for size (LOCs), number of programmers 18 Apr 2006 Sweden 44

Knowledge sharing and learning in F/OSS • Modeling of knowledge sharing in F/OSS – Knowledge sharing and learning in F/OSS • Modeling of knowledge sharing in F/OSS – Knowledge sharing model – Mining F/OSS mail lists to determine knowledge brokers • Learning mechanisms in F/OSS – Learning in F/OSS occurs following the constructivist model – Ultimate goal: use of F/OSS projects in SE teaching – Ran a pilot study: 15 students practiced software testing by participating in F/OSS projects, obtained promising results 18 Apr 2006 Sweden 45

F/OSS Knowledge Sharing Model Knowledge is generated, shared and acquired by traversing various paths F/OSS Knowledge Sharing Model Knowledge is generated, shared and acquired by traversing various paths of the graph model in many different ways 18 Apr 2006 Sweden 46

F/OSS Mailing List Social Network 18 Apr 2006 Sweden 47 F/OSS Mailing List Social Network 18 Apr 2006 Sweden 47

Extreme Programming • Surveying Agile Methods / XP spread in Greece – SW SMEs Extreme Programming • Surveying Agile Methods / XP spread in Greece – SW SMEs use XP methods without knowing it! • Investigation of human factors – Developer personality and temperament when forming a pair in pair programming – Conducted formal experiments with students – Found that mixed personalities and temperaments produce better results 18 Apr 2006 Sweden 48

Forthcoming Funded Research Projects • SQO – OSS (IST/EU), Software quality observatory for Open Forthcoming Funded Research Projects • SQO – OSS (IST/EU), Software quality observatory for Open Source, • • • a system that will continuously monitor and evaluate OSS products FLOSSMETRICS (IST/EU), studies and models for OSS process management F/OSS in education (MINERVA / EU), exploitation of OSS in informatics education DIERGASIA (means PROCESS in Greek) (TELETEL / GSRT), prediction models and procedures for advanced software quality assurance in a TLC systems company Also bidding for funding for various development projects (training in basic computer skills using ODL, portal development for technology museums, …) 18 Apr 2006 Sweden 49

Current / Future Research topics • F/OSS quality assessment through the use of heuristics Current / Future Research topics • F/OSS quality assessment through the use of heuristics • Social Networks in F/OSS – Indicators for community decay in F/OSS projects: when is the project endangered because of mentors / key developers abandonment? • Software Architecture – Exploit architectural tactics in component specification to support reusability (ICSR’ 06, Torino) • Management Anti-Patterns – Modeling with BBN – XP management anti-patterns • Intellectual Software Capital Valuation – How much is a software artifact (component, method, piece of knowledge) worth? • Investigate XP through experiments with professionals • Introduction of F/OSS projects in SE education 18 Apr 2006 Sweden 50

Tactic driven process 18 Apr 2006 Sweden 51 Tactic driven process 18 Apr 2006 Sweden 51