Publication | Closed Access
Thirty years is long enough: getting beyond C
14
Citations
11
References
2005
Year
Software MaintenanceEngineeringCompiler TechnologyJust TransitionSoftware EngineeringSoftware AnalysisFormal VerificationNew FeaturesLongevityStatic CheckingProgramming LanguagesComputer EngineeringComputer ScienceStatic Program AnalysisLanguage-based SecuritySoftware DesignCode RefactoringHumanitiesC CodeProgram AnalysisEvolutionary PathSoftware TestingGlobal ChallengeFormal MethodsTechnologySystem SoftwareModernity
Thirty years after its creation, C remains one of the most widely used systems programming languages. Unfortunately, the power of C has become a liability for large systems projects, which are now focusing on security and reliability. Modern languages and static analyses provide an opportunity to improve the quality of systems software, and yet adoption of these tools has been slow. To address this problem, we propose a new language called Ivy that has an evolutionary path from C. The mechanism for this evolutionary path is a system of extensions and refactorings: extensions augment the language with new features, and refactorings assist the programmer in updating their code to use these new features. Extensions and refactorings have a wide variety of applications, from enforcing memory safety to detecting user/kernel pointer errors. We also demonstrate Macroscope, a tool we have built to enable refactoring of existing C code.
| Year | Citations | |
|---|---|---|
Page 1
Page 1