Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/21129
DC FieldValueLanguage
dc.contributor.advisorVieira, Marco Paulo Amorim-
dc.contributor.authorLaranjeiro, Carlos Nuno Bizarro e Silva-
dc.date.accessioned2012-11-09T16:23:23Z-
dc.date.issued2012-09-20-
dc.identifier.citationLARANJEIRO, Carlos Nuno Bizarro e Silva - Advancing software services robustness : techniques for assessment and improvement. Coimbra : [s.n.], 2012. Tese de doutoramentopor
dc.identifier.urihttps://hdl.handle.net/10316/21129-
dc.descriptionTese de doutoramento em Ciências e Tecnologias da Informaçãopt
dc.description.abstractThe use of software services in the development and integration of enterprise applications in business-­‐‑critical scenarios has been steadily increasing. Software services consist of components that can be used by other applications across the web and are supported by standard protocols and specifications. In a service-­‐‑based environment, providers supply a set of operations for consumers. These operations, supported by a complex software infrastructure (including application servers, middleware stacks, databases, etc.), are based on an immense variety of technologies, and use other services to compose complex business processes (i.e., a collection of services working together towards a goal). The increasing use of service-­‐‑based applications in critical business-­‐‑to-­‐‑ business environments raises the need for new techniques and tools that support the development and deployment of services that fulfill key dependability properties. Currently, services are dynamic, use a vast diversity of systems, are evolving and are frequently deployed over public unreliable networks. Additionally, service developers normally face time-­‐‑ to-­‐‑market pressure, leading them to focus on functionality development and disregard important testing activities, which may result in the deployment of software with bugs, including robustness problems and security vulnerabilities. This thesis addresses the problem of robustness assessment and improvement in software services. In particular, we first propose a generic approach for assessing the robustness of distinct classes of services (e.g., web and messaging services). The approach is based on a set of tests, which comprise a combination of valid and invalid input parameters, and are used in services operations. Besides defining the general procedure, the approach describes all the components necessary for testing services for robustness. The proposal is demonstrated with two concrete case studies on web services and messaging middleware. The thesis also proposes a technique to fix robustness problems in web services. This technique, which extends to the development process itself, is based on the definition and announcement of the service input and output domains in a complete way. Wrappers are automatically built based on the domain definitions to prevent the execution of the service with invalid input parameters. The wrapping technique is taken one step further to include protection against malicious inputs (although possibly valid in the domain). To achieve this goal, we introduce a learning phase to gather invariant information representing the profile of regular (i.e., non malicious) client requests. The robustness wrapper is then able to use that information, which is complemented with a set of heuristics to handle new cases (i.e., previously unobserved), to prevent the execution of requests that fall out of the regular profile. Finally, the thesis proposes techniques to improve relevant fault tolerance aspects of web services. In particular, we design two concrete mechanisms that endow web services with features that allow increasing correctness, availability and performance, including proper handling of timing requirements. The first mechanism helps developers to deploy fault-­‐‑tolerant compositions using diverse services, by applying techniques like diversity and voting schemes. The second mechanism provides support for deploying services able to perform runtime detection and prediction of timing failures, based on the collection and analysis of historical data. In this case, when clients’ timing requirements are exceeded or are not possible to (predictably) be guaranteed, the service consistently replies with a well known exceptional behavior.pt
dc.language.isoengpt
dc.rightsopenAccesspt
dc.titleAdvancing Software Services Robustness. Techniques for Assessment and Improvementpt
dc.typedoctoralThesispt
dc.date.embargoEndDate10000-01-01-
dc.peerreviewedYespor
dc.date.embargo2012-09-20*
thesis.degree.grantor00500::Universidade de Coimbrapt
uc.rechabilitacaoestrangeiranopt
uc.date.periodoEmbargo0pt
item.fulltextCom Texto completo-
item.grantfulltextopen-
item.languageiso639-1en-
item.cerifentitytypePublications-
item.openairetypedoctoralThesis-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
crisitem.author.deptFaculty of Sciences and Technology-
crisitem.author.parentdeptUniversity of Coimbra-
crisitem.author.researchunitCISUC - Centre for Informatics and Systems of the University of Coimbra-
crisitem.author.parentresearchunitFaculty of Sciences and Technology-
crisitem.author.orcid0000-0003-0011-9901-
Appears in Collections:FCTUC Eng.Informática - Teses de Doutoramento
Files in This Item:
File Description SizeFormat
2012-phd-thesis-robustness-laranjeiro.pdf5.3 MBAdobe PDFView/Open
Show simple item record

Page view(s) 50

464
checked on Oct 15, 2024

Download(s)

166
checked on Oct 15, 2024

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.