
f646a427078f491ddd77477cdbbfaf8c.ppt
- Количество слайдов: 51
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 Group • Software Quality, Management, Education • Open Source Software Engineering / Extreme Programming 18 Apr 2006 Sweden 2
Introduction 18 Apr 2006 Sweden 3
18 Apr 2006 Sweden 4
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
AUTH / Dept of Informatics 18 Apr 2006 Sweden 7
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 • 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 • 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 (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 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 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. 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, 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 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. 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 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 • 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 (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 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 24
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 26
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 – 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) – 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 of a calibration session 18 Apr 2006 Sweden 30
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 • • • 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) – 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 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 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 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 – 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
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 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: 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 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 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 of the graph model in many different ways 18 Apr 2006 Sweden 46
F/OSS Mailing List Social Network 18 Apr 2006 Sweden 47
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 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 • 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