Title: Software Engineering Research
1Software Engineering Research Developmentat
A.U.Th
- Ioannis Stamelos
- Panagiotis Katsaros
- stamelos, katsaros_at_csd.auth.gr
2Presentation Outline
- Introduction
- AUTH / Dept of Informatics
- Software Engineering Research Group
- Software Quality, Management, Education
- Open Source Software Engineering / Extreme
Programming
3Introduction
4(No Transcript)
5City of Thessaloniki
- Capital of Macedonia region, northern Greece
- 1 M inhabitants, 2nd greek city, major port of
Balkans - 2300 years of continuous history, joined modern
Greece in 1912
6(No Transcript)
7AUTH / Dept of Informatics
8Aristotle University of Thessaloniki, Greece
- First school (Philosophy) established in 1925
- Largest Greek University
- 45 departments
- gt 60.000 students
- gt 3.000 staff / teachers
- www.auth.gr
9Department 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
104-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
11Master Courses
- MSc in Informatics (4 directions)
- MSc in Informatics Management (with Dept. of
Business Management) - Plus
- MSc in Medical Informatics
12Five 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
13Programming Languages and Software Engineering
PLASE
- 6 staff members
- 10 research associates
- 20 PhD students
- Major research areas
- Intelligent Systems
- Web Engineering
- Software Engineering
- Mathematics
14Software Engineering Group (SWENG)
- 3 ac. staff members
- Assistant Professors I. Stamelos, L. Angelis /
PLASE - P. Katsaros / DELAB
- 5 research associates
- 10 PhD students (joined the group during last 4
years) - http//sweng.csd.auth.gr
-
15SWENG 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
16SWENG RD 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
17SWENG 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
18Examples 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)
19SWENG Major Research Areas
- Software Quality
- Dependability, Security
- Software Cost Estimation
- Software Evaluation
- Open Source Software
- Extreme Programming
- Software Education
20Software Quality, Management, Education
21Software 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
22Software 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
23(No Transcript)
24(No Transcript)
25Software 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 Riels
set of object-oriented 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)
26Decision tree for defect prediction (for a
specific data set)
27Software 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)
28Software 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
29Software 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)
30BRACE a tool for advanced estimation by analogy
- Screenshot of BRACE showing the results of a
calibration session
31BRACE interval estimate generation
- New project is estimated to demand an effort of
2000-2500 mh (prob. 65,1), 2500-3000 (prob.
23,1), etc.
32Software 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
33Software 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
34Example Association Rule for Productivity
Estimation
- Association Rule
- Support Confidence Rule Body Rule Head
- 6.3 66.6 ACAP_HDATA_N gt 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 (100ltPRODlt160 KLOC/MM)
35Software process modeling with iterative Bayesian
Belief Networks
36Software Evaluation
- Application of MCDA (Multiple Criteria Decision
Aid) on software problem situations
37Profile 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
38Software 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
39Open Source Software Engineering / Extreme
Programming
40Free / 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?
41Free / 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
42F/OSS product quality assessment
- Case Studies
- Measured and assessed 100 LINUX applications
applications code found to be of at least equal
quality 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
43F/OSS maintainability evolution
44F/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
45Knowledge 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
46F/OSS Knowledge Sharing Model
- Knowledge is generated, shared and acquired by
traversing various paths of the graph model in
many different ways
47F/OSS Mailing List Social Network
48Extreme 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
49Forthcoming 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,
)
50Current / 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 (ICSR06,
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
51Tactic driven process