Software Engineering Research & Development at A.U.Th Ioannis Stamelos Panagiotis Katsaros...
-
date post
19-Dec-2015 -
Category
Documents
-
view
218 -
download
3
Transcript of Software Engineering Research & Development at A.U.Th Ioannis Stamelos Panagiotis Katsaros...
Software Engineering Software Engineering Research & DevelopmentResearch & Development
at A.U.That A.U.Th
Ioannis StamelosIoannis StamelosPanagiotis KatsarosPanagiotis Katsaros
{stamelos, katsaros}@csd.auth.gr{stamelos, katsaros}@csd.auth.gr
18 Apr 200618 Apr 2006 SwedenSweden 22
Presentation OutlinePresentation Outline
• IntroductionIntroduction• AUTH / Dept of InformaticsAUTH / Dept of Informatics• Software Engineering Research Software Engineering Research
GroupGroup• Software Quality, Management, Software Quality, Management,
EducationEducation• Open Source Software Engineering Open Source Software Engineering
/ Extreme Programming/ Extreme Programming
18 Apr 200618 Apr 2006 SwedenSweden 55
City of ThessalonikiCity of Thessaloniki
• Capital of Macedonia region, Capital of Macedonia region, northern Greecenorthern Greece
• ~1 M inhabitants, 2~1 M inhabitants, 2ndnd greek city, greek city, major port of Balkansmajor port of Balkans
• 2300 years of continuous history, 2300 years of continuous history, joined modern Greece in 1912joined modern Greece in 1912
18 Apr 200618 Apr 2006 SwedenSweden 88
Aristotle University of Aristotle University of Thessaloniki, GreeceThessaloniki, Greece• First school (Philosophy) established in 1925First school (Philosophy) established in 1925
• Largest Greek UniversityLargest Greek University
– 45 departments45 departments
– > 60.000 students> 60.000 students
– > 3.000 staff / teachers> 3.000 staff / teachers
• www.auth.grwww.auth.gr
18 Apr 200618 Apr 2006 SwedenSweden 99
Department of InformaticsDepartment of Informatics
• School of Physical Science, plans to move to School of Physical Science, plans to move to Polytechnic SchoolPolytechnic School
• Established in 1993Established in 1993
• 22 academic staff members22 academic staff members
• ~700 students~700 students
• www.csd.auth.grwww.csd.auth.gr
18 Apr 200618 Apr 2006 SwedenSweden 1010
4-years Degree Curriculum4-years Degree Curriculum
• 8 semesters8 semesters
• 5 semesters with obligatory courses5 semesters with obligatory courses
• 3 semesters with options out of 4 directions:3 semesters with options out of 4 directions:– Information SystemsInformation Systems– Digital MediaDigital Media– Multimedia / Educational TechnologiesMultimedia / Educational Technologies– Networks / Architecture / CommunicationsNetworks / Architecture / Communications
• Thesis Project Thesis Project
18 Apr 200618 Apr 2006 SwedenSweden 1111
Master CoursesMaster Courses
• MSc in Informatics (4 directions)MSc in Informatics (4 directions)
• MSc in Informatics & Management MSc in Informatics & Management (with Dept. of Business Management)(with Dept. of Business Management)
PlusPlus
• MSc in Medical Informatics MSc in Medical Informatics
18 Apr 200618 Apr 2006 SwedenSweden 1212
Five Research LabsFive Research Labs
• Programming Languages and Software Programming Languages and Software Engineering – PLASEEngineering – PLASE
• Data Technologies and Engineering -DELABData Technologies and Engineering -DELAB
• Information Processing and Artificial Information Processing and Artificial IntelligenceIntelligence
• Multimedia (Educational Technologies)Multimedia (Educational Technologies)
• Networks, Communications and Networks, Communications and ArchitectureArchitecture
18 Apr 200618 Apr 2006 SwedenSweden 1313
Programming Languages and Programming Languages and Software Engineering – PLASESoftware Engineering – PLASE
• 6 staff members6 staff members• 10 research associates10 research associates• 20 PhD students20 PhD students• Major research areas:Major research areas:
– Intelligent SystemsIntelligent Systems– Web EngineeringWeb Engineering– Software EngineeringSoftware Engineering– MathematicsMathematics
18 Apr 200618 Apr 2006 SwedenSweden 1414
Software Engineering Group Software Engineering Group (SWENG)(SWENG)
• 3 ac. staff members:3 ac. staff members:– Assistant Professors I. Stamelos, L. Angelis / PLASE Assistant Professors I. Stamelos, L. Angelis / PLASE – P. Katsaros / DELABP. Katsaros / DELAB
• 5 research associates5 research associates
• 10 PhD students (joined the group during last 4 10 PhD students (joined the group during last 4 years)years)
• http://sweng.csd.auth.grhttp://sweng.csd.auth.gr
18 Apr 200618 Apr 2006 SwedenSweden 1515
SWENG: TeachingSWENG: Teaching
• Dept. of Informatics / Hellenic Open Dept. of Informatics / Hellenic Open University (ODL)University (ODL)– Mathematics, Graph TheoryMathematics, Graph Theory– Language Theory, CompilersLanguage Theory, Compilers– Introduction to Software EngineeringIntroduction to Software Engineering– Object Oriented Analysis / Java / C++Object Oriented Analysis / Java / C++
• Master CoursesMaster Courses– Software Project ManagementSoftware Project Management– Enterprise Information Systems Enterprise Information Systems
18 Apr 200618 Apr 2006 SwedenSweden 1616
SWENG: R&D ActivitiesSWENG: R&D Activities
• Basic ResearchBasic Research
• Collaboration with other research teams in Greece and in Collaboration with other research teams in Greece and in EU:EU:– Politecnico di Torino (Prof. Morisio)Politecnico di Torino (Prof. Morisio)– Univ. LAMSADE / Paris (Prof. Tsoukias)Univ. LAMSADE / Paris (Prof. Tsoukias)– Univ. Juan Carlos / Madrid (Prof. Barahona)Univ. Juan Carlos / Madrid (Prof. Barahona)
• Funded Applied Research & DevelopmentFunded Applied Research & Development– Greek Public SectorGreek Public Sector– Greek Secretariat for Research and TechnologyGreek Secretariat for Research and Technology– Private CompaniesPrivate Companies– EUEU
18 Apr 200618 Apr 2006 SwedenSweden 1717
SWENG: FundingSWENG: Funding
• Software industry context:Software industry context:– Public Sector still developing IT infrastructure (e.g. transportation)Public Sector still developing IT infrastructure (e.g. transportation)– Private Sector companies enhancing IT infrastructure (banks, utilities, Private Sector companies enhancing IT infrastructure (banks, utilities,
privatized public companies)privatized public companies)– Most large SW Companies mainly acting as vendors (e.g. of ERP systems)Most large SW Companies mainly acting as vendors (e.g. of ERP systems)– Various small but aggressive SW companies acting as developers Various small but aggressive SW companies acting as developers
• Funding: limited but growing fast Funding: limited but growing fast – (in last 5 years, while SWENG group was growing) ~0,7 M euros(in last 5 years, while SWENG group was growing) ~0,7 M euros– mostly from development projectsmostly from development projects– participated also to other PLASE projects (MATHIND, Go Net, …)participated also to other PLASE projects (MATHIND, Go Net, …)
• Now shifting to research projects as well: Now shifting to research projects as well: – obtained ~0,5 M, expecting another 0,6 M in years 2006 - 2007 (mainly obtained ~0,5 M, expecting another 0,6 M in years 2006 - 2007 (mainly
from EU, GSRT)from EU, GSRT)– see forthcoming research projects at see forthcoming research projects at Forthcoming Research ProjectsForthcoming Research Projects slide slide
18 Apr 200618 Apr 2006 SwedenSweden 1818
Examples of current / Examples of current / completed projectscompleted projects
• Expert System for Software EvaluationExpert System for Software Evaluation• Automated Certification System (with Automated Certification System (with
data mining functionality)data mining functionality)• Enterprise Knowledge Management Enterprise Knowledge Management
SystemSystem• Specification of various public company Specification of various public company
information systems (e.g. ticketing) information systems (e.g. ticketing)
18 Apr 200618 Apr 2006 SwedenSweden 1919
SWENG: Major Research SWENG: Major Research AreasAreas• Software QualitySoftware Quality
– Dependability, SecurityDependability, Security
• Software Cost EstimationSoftware Cost Estimation
• Software EvaluationSoftware Evaluation
• Open Source SoftwareOpen Source Software
• Extreme ProgrammingExtreme Programming
• Software EducationSoftware Education
18 Apr 200618 Apr 2006 SwedenSweden 2020
Software Quality, Software Quality, Management, EducationManagement, Education
18 Apr 200618 Apr 2006 SwedenSweden 2121
Software Quality (1)Software Quality (1)
• Problems: Problems: – how to quantify and predict / assess SW quality how to quantify and predict / assess SW quality
attributesattributes– many SW quality metrics /methods have been many SW quality metrics /methods have been
proposed but have not been sufficiently proposed but have not been sufficiently validatedvalidated
• Need for Need for – novel, intuitively confirmed measures novel, intuitively confirmed measures – empirical evidence for assessing methods, tools, empirical evidence for assessing methods, tools,
approachesapproaches
18 Apr 200618 Apr 2006 SwedenSweden 2222
Software Quality (2)Software Quality (2)
• Formal experimentsFormal experiments– Most powerful empirical investigation tool, producing Most powerful empirical investigation tool, producing
generic conclusionsgeneric conclusions
• A typical formal experiment setting: A typical formal experiment setting: – Two groups of subjects are given the same object, Two groups of subjects are given the same object,
differing only in the controlled variable (e.g. design of the differing only in the controlled variable (e.g. design of the same system based on two different design approaches, same system based on two different design approaches, see next two slides) see next two slides)
– Subjects are asked to perform the same task Subjects are asked to perform the same task – All other potentially affecting variables are kept constant All other potentially affecting variables are kept constant
(e.g. group experience)(e.g. group experience)– The two groups’ performance is monitored accurately and The two groups’ performance is monitored accurately and
statistical tests are run to detect statistical difference statistical tests are run to detect statistical difference
18 Apr 200618 Apr 2006 SwedenSweden 2525
Software Quality (3)Software Quality (3)
• Currently investigating quality assessment based Currently investigating quality assessment based on Heuristicson Heuristics- A Heuristic is a good practice (e.g. avoidance of ‘God’ - A Heuristic is a good practice (e.g. avoidance of ‘God’
classes in OO design, see previous slide)classes in OO design, see previous slide)– Developed tools assessing compliance with Riel’s set of Developed tools assessing compliance with Riel’s set of
object-oriented heuristics (based on C++/Java code, object-oriented heuristics (based on C++/Java code, UML class diagrams)UML class diagrams)
• Design of new methods / models for quality Design of new methods / models for quality predictionprediction– Software Defect Prediction Using Regression via Software Defect Prediction Using Regression via
ClassificationClassification (AICSSA ’06)(AICSSA ’06)
18 Apr 200618 Apr 2006 SwedenSweden 2626
Decision tree for defect Decision tree for defect prediction (for a specific data prediction (for a specific data set)set)
18 Apr 200618 Apr 2006 SwedenSweden 2727
Software Cost EstimationSoftware Cost Estimation
• The problem: predict the human effort for developing a systemThe problem: predict the human effort for developing a system– Expert judgmentExpert judgment– Analogy based method, project is compared with past projects, Analogy based method, project is compared with past projects,
project cost is proportional to cost of ‘similar’ projectsproject cost is proportional to cost of ‘similar’ projects– Algorithmic / ad hoc models, a set of equations are used (e.g. Algorithmic / ad hoc models, a set of equations are used (e.g.
the COCOMO models)the COCOMO models)
• Issues:Issues:– Wrong, inaccurate, missing past projects dataWrong, inaccurate, missing past projects data– Uncertainty about new projectUncertainty about new project– Many categorical values (e.g. type of system, language used)Many categorical values (e.g. type of system, language used)– Method accuracyMethod accuracy– Calibration with local dataCalibration with local data– Method suitability to local situation (e.g. local project data may Method suitability to local situation (e.g. local project data may
be not available or projects are not measured accordingly)be not available or projects are not measured accordingly)
18 Apr 200618 Apr 2006 SwedenSweden 2828
Software Cost Estimation (1)Software Cost Estimation (1)
• Interval estimation Interval estimation – A range of values is producedA range of values is produced– More realistic approach w.r.t to a point More realistic approach w.r.t to a point
estimateestimate• Interval incorporates model errorInterval incorporates model error
• Interval accounts for estimation data inaccuracy Interval accounts for estimation data inaccuracy
– May be easily transformed to a point estimate May be easily transformed to a point estimate (e.g. take the mean value of the interval)(e.g. take the mean value of the interval)
• A number of techniques has been A number of techniques has been proposedproposed
18 Apr 200618 Apr 2006 SwedenSweden 2929
Software Cost Estimation (2)Software Cost Estimation (2)
• Improvement of Analogy Based Estimation (Bootstrap Improvement of Analogy Based Estimation (Bootstrap sampling method)sampling method)– To calibrate method parameters (e.g. number of similar projects To calibrate method parameters (e.g. number of similar projects
used for the estimation)used for the estimation)– To produce interval estimatesTo produce interval estimates
• Project portfolio estimationProject portfolio estimation– Combination of interval estimates from portfolio project Combination of interval estimates from portfolio project
membersmembers
• Categorical, multinomial, ordinal regressionCategorical, multinomial, ordinal regression– Regression models that provide interval estimatesRegression models that provide interval estimates– Intervals are often predefined by managersIntervals are often predefined by managers– Produced more accurate results than previously proposed Produced more accurate results than previously proposed
methods (e.g. OLS) methods (e.g. OLS)
18 Apr 200618 Apr 2006 SwedenSweden 3030
BRACE: a tool for advanced BRACE: a tool for advanced estimation by analogyestimation by analogy
Screenshot of Screenshot of BRACE BRACE showing the showing the results of a results of a calibration calibration sessionsession
18 Apr 200618 Apr 2006 SwedenSweden 3131
BRACE: interval estimate BRACE: interval estimate generationgeneration
New project is New project is estimated to estimated to demand an demand an effort of 2000-effort of 2000-2500 mh (prob. 2500 mh (prob. 65,1%), 2500-65,1%), 2500-3000 (prob. 3000 (prob. 23,1%), etc.23,1%), etc.
18 Apr 200618 Apr 2006 SwedenSweden 3232
Software Cost Estimation (3)Software Cost Estimation (3)
• How to deal with missing data in your How to deal with missing data in your historical data base?historical data base?
• Imputation methods: replace missing Imputation methods: replace missing valuesvalues
• Proposed Multiple Logistic Regression as Proposed Multiple Logistic Regression as an imputation method for missing an imputation method for missing categorical valuescategorical values
• MLR found to perform better w.r.t. to MLR found to perform better w.r.t. to previously proposed methodspreviously proposed methods
18 Apr 200618 Apr 2006 SwedenSweden 3333
Software Cost Estimation (4)Software Cost Estimation (4)
• Comparative assessment of Comparative assessment of proposed methods (focusing on AI proposed methods (focusing on AI methods)methods)– Association Rules, BBN, CARTAssociation Rules, BBN, CART– AR are found to be the most accurate / AR are found to be the most accurate /
promising approachpromising approach
18 Apr 200618 Apr 2006 SwedenSweden 3434
Example Association Rule Example Association Rule for Productivity Estimationfor Productivity Estimation
Association RuleAssociation Rule
SupportSupport ConfidenceConfidence Rule BodyRule Body Rule Head Rule Head
6.36.3 66.666.6 [ACAP_H]+[DATA_N][ACAP_H]+[DATA_N] ==> ==> [PROD_4][PROD_4]
Interpreted as follows: Interpreted as follows:
When the programmers’ analysis capability When the programmers’ analysis capability is high and the database size is nominal is high and the database size is nominal then the productivity is likely to be in the then the productivity is likely to be in the fourth category (100<PROD<160 KLOC/MM)fourth category (100<PROD<160 KLOC/MM)
18 Apr 200618 Apr 2006 SwedenSweden 3535
Software process modeling Software process modeling with iterative Bayesian Belief with iterative Bayesian Belief NetworksNetworks
18 Apr 200618 Apr 2006 SwedenSweden 3636
Software EvaluationSoftware Evaluation
• Application of MCDA (Multiple Criteria Application of MCDA (Multiple Criteria Decision Aid) on software problem Decision Aid) on software problem situationssituations
18 Apr 200618 Apr 2006 SwedenSweden 3737
Profile evaluation of software Profile evaluation of software artifacts / processesartifacts / processes
User defines profiles as sets of attribute User defines profiles as sets of attribute values, then product / process is assessed values, then product / process is assessed through the Electre method to decide its through the Electre method to decide its profile value profile value
g1
g2
g3
gm-1
gm
Categ. 1 Categ. 2 Categ. p-1 Categ. p Categ. p+1
b1bp-1 bp
18 Apr 200618 Apr 2006 SwedenSweden 3838
Software Engineering Software Engineering EducationEducation
• Investigation of novel approaches in Investigation of novel approaches in SE education through formal SE education through formal experimentsexperiments– Distance learning of UML (sequence Distance learning of UML (sequence
diagrams)diagrams)– Use of a lesson sheet for teaching Use of a lesson sheet for teaching
UsabilityUsability
18 Apr 200618 Apr 2006 SwedenSweden 3939
Open Source Software Open Source Software Engineering / Extreme Engineering / Extreme ProgrammingProgramming
18 Apr 200618 Apr 2006 SwedenSweden 4040
Free / Open Source Software Free / Open Source Software (1)(1)
• Revolutionary software developmentRevolutionary software development• Issues:Issues:
– What is the quality of F/OSS products?What is the quality of F/OSS products?– How can we assess an F/OSS project?How can we assess an F/OSS project?
• Is it active?Is it active?• Is it interesting?Is it interesting?
– How can we predict an F/OSS project?How can we predict an F/OSS project?•How will it grow in terms of code size, How will it grow in terms of code size,
number of programmers?number of programmers?
18 Apr 200618 Apr 2006 SwedenSweden 4141
Free / Open Source Software Free / Open Source Software (2)(2)
• F/OSS product quality assessmentF/OSS product quality assessment
• F/OSS process modelingF/OSS process modeling– Dynamic models for predicting F/OSS Dynamic models for predicting F/OSS
project behaviorproject behavior
• Knowledge sharing and learning in Knowledge sharing and learning in F/OSSF/OSS
18 Apr 200618 Apr 2006 SwedenSweden 4242
F/OSS product quality F/OSS product quality assessmentassessment
• Case StudiesCase Studies– Measured and assessed 100 LINUX applications: Measured and assessed 100 LINUX applications:
applications’ code found to be of at least equal quality applications’ code found to be of at least equal quality w.r.t. to closed source codew.r.t. to closed source code
– Measured and assessed specific software systems’ quality Measured and assessed specific software systems’ quality (e.g. assessed COMPIERE code, an Open Source ERP (e.g. assessed COMPIERE code, an Open Source ERP system, found to be of excellent quality) system, found to be of excellent quality)
• Quality assessment horizontal studiesQuality assessment horizontal studies– Measured, assessed 5 F/OSS projects and compared with Measured, assessed 5 F/OSS projects and compared with
closed source counterparts using Maintainability Index closed source counterparts using Maintainability Index (SEI)(SEI)
– F/OSS systems found to exhibit superior maintainability, F/OSS systems found to exhibit superior maintainability, however F/OSS maintainability deteriorated in similar way however F/OSS maintainability deteriorated in similar way as in closed source as in closed source
18 Apr 200618 Apr 2006 SwedenSweden 4343
F/OSS maintainability F/OSS maintainability evolutionevolution
PrC vs. PrD vs. PrE
0
10
20
3040
50
60
70
80
1 2 3 4 5 6 7 8 9 10 11 12 13 14
successive versionsM
I
PrC
PrD
PrE
OSS PrA vs. CSS PrA
0
10
20
3040
50
60
70
80
1 2 3 4 5 6 7 8 9 10 11 12 13
successive versions
MI OSS PrA
CSS PrA
18 Apr 200618 Apr 2006 SwedenSweden 4444
F/OSS process modelingF/OSS process modeling
• Dynamical F/OSS process modelDynamical F/OSS process model• Based on programmer motivationBased on programmer motivation• Elaborates on programmer tasks Elaborates on programmer tasks
(coding, debugging), modules, defects (coding, debugging), modules, defects • Calibrated on typical F/OSS projects Calibrated on typical F/OSS projects
(e.g. Apache, Gnome)(e.g. Apache, Gnome)• Predicting curves for size (LOCs), Predicting curves for size (LOCs),
number of programmersnumber of programmers
18 Apr 200618 Apr 2006 SwedenSweden 4545
Knowledge sharing and Knowledge sharing and learning in F/OSSlearning in F/OSS
• Modeling of knowledge sharing in F/OSSModeling of knowledge sharing in F/OSS– Knowledge sharing modelKnowledge sharing model– Mining F/OSS mail lists to determine knowledge Mining F/OSS mail lists to determine knowledge
brokersbrokers• Learning mechanisms in F/OSSLearning mechanisms in F/OSS
– Learning in F/OSS occurs following the Learning in F/OSS occurs following the constructivist model constructivist model
– Ultimate goal: use of F/OSS projects in SE Ultimate goal: use of F/OSS projects in SE teachingteaching
– Ran a pilot study: 15 students practiced Ran a pilot study: 15 students practiced software testing by participating in F/OSS software testing by participating in F/OSS projects, obtained promising resultsprojects, obtained promising results
18 Apr 200618 Apr 2006 SwedenSweden 4646
F/OSS Knowledge Sharing F/OSS Knowledge Sharing Model Model
Knowledge is Knowledge is generated, generated, shared and shared and acquired by acquired by traversing traversing various paths various paths of the graph of the graph model in many model in many different waysdifferent ways
18 Apr 200618 Apr 2006 SwedenSweden 4747
F/OSS Mailing List Social F/OSS Mailing List Social NetworkNetwork
18 Apr 200618 Apr 2006 SwedenSweden 4848
Extreme ProgrammingExtreme Programming
• Surveying Agile Methods / XP spread in Surveying Agile Methods / XP spread in GreeceGreece– SW SMEs use XP methods without knowing it!SW SMEs use XP methods without knowing it!
• Investigation of human factorsInvestigation of human factors– Developer personality and temperament when Developer personality and temperament when
forming a pair in pair programmingforming a pair in pair programming– Conducted formal experiments with students Conducted formal experiments with students – Found that mixed personalities and temperaments Found that mixed personalities and temperaments
produce better resultsproduce better results
18 Apr 200618 Apr 2006 SwedenSweden 4949
Forthcoming Funded Research Forthcoming Funded Research ProjectsProjects• SQO – OSS (IST/EU), Software quality observatory for Open SQO – OSS (IST/EU), Software quality observatory for Open
Source, a system that will continuously monitor and Source, a system that will continuously monitor and evaluate OSS productsevaluate OSS products
• FLOSSMETRICS (IST/EU), studies and models for OSS FLOSSMETRICS (IST/EU), studies and models for OSS process managementprocess management
• F/OSS in education (MINERVA / EU), exploitation of OSS in F/OSS in education (MINERVA / EU), exploitation of OSS in informatics educationinformatics education
• DIERGASIA (means PROCESS in Greek) (TELETEL / GSRT), DIERGASIA (means PROCESS in Greek) (TELETEL / GSRT), prediction models and procedures for advanced software prediction models and procedures for advanced software quality assurance in a TLC systems company quality assurance in a TLC systems company
Also bidding for funding for various development projects Also bidding for funding for various development projects (training in basic computer skills using ODL, portal (training in basic computer skills using ODL, portal development for technology museums, …) development for technology museums, …)
18 Apr 200618 Apr 2006 SwedenSweden 5050
Current / Future Research Current / Future Research topicstopics• F/OSS quality assessment through the use of heuristics F/OSS quality assessment through the use of heuristics • Social Networks in F/OSSSocial Networks in F/OSS
– Indicators for community decay in F/OSS projects: when is the project Indicators for community decay in F/OSS projects: when is the project endangered because of mentors / key developers abandonment? endangered because of mentors / key developers abandonment?
• Software ArchitectureSoftware Architecture– Exploit architectural tactics in component specification to support Exploit architectural tactics in component specification to support
reusability (ICSR’06, Torino)reusability (ICSR’06, Torino)• Management Anti-PatternsManagement Anti-Patterns
– Modeling with BBNModeling with BBN– XP management anti-patternsXP management anti-patterns
• Intellectual Software Capital ValuationIntellectual Software Capital Valuation– How much is a software artifact (component, method, piece of How much is a software artifact (component, method, piece of
knowledge) worth? knowledge) worth? • Investigate XP through experiments with professionals Investigate XP through experiments with professionals • Introduction of F/OSS projects in SE educationIntroduction of F/OSS projects in SE education