Abstract:
In this work we present Contractor.NET, a Visual Studio extension that supports the construction of contract specifications with typestate information which can be used for verification of client code. Contractor.NET uses and extends Code Contracts to provide stronger contract specifications. It features a two step process. First, a class source code is analyzed to extract a finite state behavior model (in the form of a typestate) that is amenable to human-in-theloop validation and refinement. The second step is to augment the original contract specification for the input class with the inferred typestate information, therefore enabling the verification of client code. The inferred typestates are enabledness preserving: a level of abstraction that has been successfully used to validate software artifacts, assisting in the detection of a number of concerns in various case studies including specifications of Microsoft Server protocols. Copyright 2011 ACM.
Registro:
Documento: |
Conferencia
|
Título: | Contractor.NET: Inferring typestate properties to enrich code contracts |
Autor: | Zoppi, E.; Braberman, V.; De Caso, G.; Garbervetsky, D.; Uchitel, S. |
Ciudad: | Waikiki, Honolulu, HI |
Filiación: | Departamento de Computación, FCEyN, UBA, Buenos Aires, Argentina
|
Palabras clave: | Contract strengthening; Enabledness abstractions; Typestate inference; Client code; Contract specifications; Enabledness abstractions; Finite state; Level of abstraction; MicroSoft; Software artifacts; Source codes; Two-step process; Typestate; Visual studios; Abstracting; Windows operating system; Specifications |
Año: | 2011
|
Página de inicio: | 44
|
Página de fin: | 47
|
DOI: |
http://dx.doi.org/10.1145/1984708.1984721 |
Título revista: | 1st Workshop on Developing Tools as Plug-ins, TOPI 2011, Co-located with ICSE 2011
|
Título revista abreviado: | Proc Int Conf Software Eng
|
ISSN: | 02705257
|
CODEN: | PCSED
|
Registro: | https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_02705257_v_n_p44_Zoppi |
Referencias:
- Ball, T., Rajamani, S., The SLAM project: Debugging system software via static analysis (2002) POPL '02, pp. 1-3
- Bodden, E., Lam, P., Hendren, L., Finding programming errors earlier by evaluating runtime monitors ahead-of-time (2008) FSE '08, pp. 36-47
- De Caso, G., Braberman, V., Garbervetsky, D., Uchitel, S., Program abstractions for behaviour validation (2011) ICSE 2011, , to be published
- DeLine, R., Fahndrich, M., Typestates for objects (2004) LNCS, pp. 465-490. , ECOOP'04
- Fähndrich, M., Barnett, M., Logozzo, F., Embedded contract languages (2010) SAC'10, pp. 2103-2110
- Henzinger, T.A., Jhala, R., Majumdar, R., Permissive interfaces (2005) FSE '05, pp. 31-40
- Kim, T., Bierhoff, K., Aldrich, J., Kang, S., Typestate protocol specification in JML (2009) SAVCBS '09, pp. 11-18. , ACMA4 - ACM SIGSOFT; IEEE CS
Citas:
---------- APA ----------
Zoppi, E., Braberman, V., De Caso, G., Garbervetsky, D. & Uchitel, S.
(2011)
. Contractor.NET: Inferring typestate properties to enrich code contracts. 1st Workshop on Developing Tools as Plug-ins, TOPI 2011, Co-located with ICSE 2011, 44-47.
http://dx.doi.org/10.1145/1984708.1984721---------- CHICAGO ----------
Zoppi, E., Braberman, V., De Caso, G., Garbervetsky, D., Uchitel, S.
"Contractor.NET: Inferring typestate properties to enrich code contracts"
. 1st Workshop on Developing Tools as Plug-ins, TOPI 2011, Co-located with ICSE 2011
(2011) : 44-47.
http://dx.doi.org/10.1145/1984708.1984721---------- MLA ----------
Zoppi, E., Braberman, V., De Caso, G., Garbervetsky, D., Uchitel, S.
"Contractor.NET: Inferring typestate properties to enrich code contracts"
. 1st Workshop on Developing Tools as Plug-ins, TOPI 2011, Co-located with ICSE 2011, 2011, pp. 44-47.
http://dx.doi.org/10.1145/1984708.1984721---------- VANCOUVER ----------
Zoppi, E., Braberman, V., De Caso, G., Garbervetsky, D., Uchitel, S. Contractor.NET: Inferring typestate properties to enrich code contracts. Proc Int Conf Software Eng. 2011:44-47.
http://dx.doi.org/10.1145/1984708.1984721