Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleSeptember 2024
Is MCDC Really Better? Lessons from Combining Tests and Proofs
AbstractMCDC, for “Modified Condition/Decision Coverage”, is a test coverage criterion recommended in several important industrial software safety standards. The intuition behind MCDC is that it should be more effective than industry’s default coverage ...
- research-articleJuly 2024
Execution-Free Program Repair
FSE 2024: Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software EngineeringPages 517–521https://doi.org/10.1145/3663529.3663789Automatic program repair usually relies heavily on test cases for both bug identification and fix validation. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not guarantee its ...
- ArticleSeptember 2023
Seeding Contradiction: A Fast Method for Generating Full-Coverage Test Suites
AbstractThe regression test suite, a key resource for managing program evolution, needs to achieve 100% coverage, or very close, to be useful. Devising a test suite manually is unacceptably tedious, but existing automated methods are often inefficient. ...
- research-articleSeptember 2017
Seamless requirements
Computer Languages, Systems and Structures (CLSS), Volume 49, Issue CPages 119–132https://doi.org/10.1016/j.cl.2017.04.001Popular notations for functional requirements specifications frequently ignore developers needs, target specific development models, or require translation of requirements into tests for verification; the results can give out-of-sync or downright ...
- articleNovember 2015
AutoProof meets some verification challenges
International Journal on Software Tools for Technology Transfer (STTT) (STTT), Volume 17, Issue 6Pages 745–755https://doi.org/10.1007/s10009-014-0300-yAutoProof is an automatic verifier for functional properties of programs written in Eiffel. This paper illustrates some of AutoProof's capabilities when tackling the three challenges of the VerifyThis verification competition held at FM 2012, as well as ...
-
- articleNovember 2014
Survey on test data generation tools
International Journal on Software Tools for Technology Transfer (STTT) (STTT), Volume 16, Issue 6Pages 727–751https://doi.org/10.1007/s10009-013-0272-3Automating the process of software testing is a very popular research topic and of real interest to industry. Test automation can take part on different levels, e.g., test execution, test case generation, test data generation. This survey gives an ...
- articleJanuary 2013
Towards fully-fledged reverse inheritance in eiffel
Generalization is common in object-oriented modeling. It would be useful in many situations also as a language mechanism, reverse inheritance, but there have been only few detailed proposals for that. This paper defines reverse inheritance as a true ...
- opinionSeptember 2012
Bertrand Meyer: Software Engineering and the Eiffel Programming Language
For more than 30 years, Bertrand Meyer has taught the computer science field about formal software engineering and object-oriented approaches; he continues do so through his many books, conferences, and Eiffel. The Web extra at http://youtu.be/...
- research-articleApril 2011
Implementing statically typed object-oriented programming languages
ACM Computing Surveys (CSUR), Volume 43, Issue 3Article No.: 18, Pages 1–48https://doi.org/10.1145/1922649.1922655Object-oriented programming represents an original implementation issue due to its philosophy of making the program behavior depend on the dynamic type of objects. This is expressed by the late binding mechanism, aka message sending. The underlying ...
- ArticleSeptember 2010
Automatic testing and fixing for Eiffel
Key aspects of software development, in particular testing and debugging, still commonly rely on manual techniques. If the programs contain enough built-in correctness information, in the form of contracts, it is possible to automate some of the most ...
- research-articleAugust 2009
Cameo: an alternative model of concurrency for Eiffel
Formal Aspects of Computing (FAC), Volume 21, Issue 4Pages 363–391https://doi.org/10.1007/s00165-008-0096-1AbstractWe present a new concurrency model for the Eiffel programming language. The model is motivated by describing a number of semantic problems with the leading concurrency model for Eiffel, namely SCOOP. Our alternative model aims to preserve the ...
- research-articleJuly 2008
A comparison of object-oriented languages in software engineering
ACM SIGSOFT Software Engineering Notes (SIGSOFT), Volume 33, Issue 4Article No.: 6, Pages 1–5https://doi.org/10.1145/1384139.1384145Object-oriented programming is still a relatively new technology in the world of web development. Object-oriented programming languages directly support the object notions of classes, inheritance, information hiding, and dynamic binding. In Object-...
- articleJuly 2008
Stateful traits and their formalization
Computer Languages, Systems and Structures (CLSS), Volume 34, Issue 2-3Pages 83–108https://doi.org/10.1016/j.cl.2007.05.003Traits offer a fine-grained mechanism to compose classes from reusable components while avoiding problems of fragility brought by multiple inheritance and mixins. Traits as originally proposed are stateless, that is, they contain only methods, but no ...
- research-articleNovember 2007
A CSP model of Eiffel’s SCOOP
Formal Aspects of Computing (FAC), Volume 19, Issue 4Pages 487–512https://doi.org/10.1007/s00165-007-0033-8AbstractThe current informal semantics of the simple concurrent object-oriented programming (SCOOP) mechanism for Eiffel is described. We construct and discuss a model using the process algebra CSP. This model gives a more formal semantics for SCOOP than ...
- ArticleOctober 2007
Celebrating 40 years of language evolution: simula 67 to the present and beyond
OOPSLA '07: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companionPages 1021–1023https://doi.org/10.1145/1297846.1297971Simula 67 (SIMple Universal LAnguage 67) is considered by many as one of the earliest - if not the first - object-oriented language. Simula 67 was developed by Ole-Johan Dahl and Kristen Nygaard in Oslo, Norway and has greatly influenced object-oriented ...
- chapterJanuary 2006
Are practitioners writing contracts?
Rigorous Development of Complex Fault-Tolerant SystemsJanuary 2006, Pages 100–113For decades now, modular design methodologies have helped software engineers cope with the size and complexity of modern-day industrial applications. To be truly effective though, it is essential that module interfaces be rigorously specified. Design by ...
- research-articleDecember 2004
DPVK - An Eclipse Plug-in to Detect Design Patterns in Eiffel Systems
Electronic Notes in Theoretical Computer Science (ENTCS) (ENTCS), Volume 107, Issue CPages 71–86https://doi.org/10.1016/j.entcs.2004.02.049Design patterns are not only beneficial to the forward engineering process but also help in design recovery and program understanding, typical reverse engineering activities. In this paper, we introduce DPVK, a reverse engineering tool to detect pattern ...
- ArticleOctober 2004
Efficient data race and deadlock prevention in concurrent object-oriented programs
OOPSLA '04: Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applicationsPages 56–57https://doi.org/10.1145/1028664.1028695The main goal of this PhD thesis is to propose and implement a methodology for the construction of programs based on the SCOOP model, and for modular reasoning about their correctness and liveness properties. In particular, the set of correctness rules ...
- research-articleApril 2004
ERC – An object-oriented refinement calculus for Eiffel
Formal Aspects of Computing (FAC), Volume 16, Issue 1Pages 51–79https://doi.org/10.1007/s00165-003-0024-3Abstract.We present a refinement calculus for transforming object-oriented (OO) specifications (or ‘contracts’) of classes into executable Eiffel programs. The calculus includes the usual collection of algorithmic refinement rules for assignments, if-...
- ArticleOctober 2003
A comparative study of language support for generic programming
OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applicationsPages 115–134https://doi.org/10.1145/949305.949317Many modern programming languages support basic generic programming, sufficient to implement type-safe polymorphic containers. Some languages have moved beyond this basic support to a broader, more powerful interpretation of generic programming, and ...
Also Published in:
ACM SIGPLAN Notices: Volume 38 Issue 11